Blackberry - Come ottenere l'ID di processo applicazione in background
-
11-09-2019 - |
Domanda
Nel mio simulatore di Blackberry i metri lineari di due applicazioni sullo sfondo ora voglio retrive che sono l'applicazione in esecuzione in background.I non come fare. E 'possibile dimostrare che sono l'applicazione in esecuzione in background.
Soluzione
List e passare all'applicazione visibile
- Per elencare tutte le applicazioni visibili utilizzano ApplicationManager.getVisibleApplications ()
- Per portare un po 'usare l'applicazione in primo piano ApplicationManager.requestForeground (ProcessID)
alt text http://img195.imageshack.us/img195/7003/applist.png link testuale http://img32.imageshack.us/img32/9273/applistmenu.png
Codice:
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]));
}
}
Altri suggerimenti
Date un'occhiata al riferimento API per la RuntimeStore .
E un ingresso Knowledge Base come passare un'App per lo sfondo / primo piano.
Buona fortuna!
Non proprio una risposta, ma il sistema non mi permette di commentare.
Avete veramente bisogno di sapere quali sono le applicazioni in esecuzione di sfondo sono, o semplicemente se le applicazioni sono in esecuzione in background. In quest'ultimo caso immagino si può costruire qualcosa usando l'archivio di runtime