私のブラックベリーシミュレーターでは、バックグラウンドで2つのアプリケーションを実行していますが、バックグラウンドで実行されているアプリケーションを取得したいと思います。方法はわかりません。バックグラウンドで実行されているアプリケーションを表示することはできますか?
3372 次
3 に答える
7
表示されているアプリケーションを一覧表示して切り替える
- 表示されているすべてのアプリケーションを一覧表示するには、ApplicationManager.getVisibleApplications()を使用します
- アプリケーションをフォアグラウンドにするには、ApplicationManager.requestForeground(processId)を使用します
代替テキストhttp://img195.imageshack.us/img195/7003/applist.png リンクテキストhttp://img32.imageshack.us/img32/9273/applistmenu.png
コード:
class Scr extends MainScreen {
ApplicationDescriptor[] mAppDes;
public Scr() {
listApplications();
}
void listApplications() {
ApplicationManager appMan =
ApplicationManager.getApplicationManager();
mAppDes = appMan.getVisibleApplications();
add(new LabelField("Visible Applications:"));
for (int i = 0; i < mAppDes.length; i++) {
boolean isFG = appMan.getProcessId(mAppDes[i]) == appMan
.getForegroundProcessId();
String text = (isFG ? "[F]:" : "[B]") + mAppDes[i].getName();
add(new LabelField(text));
}
}
protected void makeMenu(Menu menu, int instance) {
super.makeMenu(menu, instance);
menu.add(refreshApps);
makeAppMenuItems(menu);
}
MenuItem refreshApps = new MenuItem("Refresh", 0, 0) {
public void run() {
deleteAll();
listApplications();
}
};
class AppMenuItem extends MenuItem {
ApplicationDescriptor mAppDes;
public AppMenuItem(ApplicationDescriptor appDes) {
super(appDes.getName(), 100000, 100000);
mAppDes = appDes;
}
public void run() {
ApplicationManager appMan = ApplicationManager
.getApplicationManager();
int processId = appMan.getProcessId(mAppDes);
appMan.requestForeground(processId);
}
}
void makeAppMenuItems(Menu menu) {
for (int i = 0, cnt = mAppDes.length; i < cnt; i++)
menu.add(new AppMenuItem(mAppDes[i]));
}
}
于 2009-09-23T08:21:59.493 に答える
2
于 2009-09-23T06:52:26.567 に答える
1
本当の答えではありませんが、システムは私にコメントさせません。
実行中のバックグラウンドアプリケーションが何であるか、またはアプリケーションがバックグラウンドで実行されているかどうかを本当に知る必要がありますか。後者の場合、ランタイムストアを使用して何かを構築できると思います
于 2009-07-08T10:31:17.630 に答える