Blackberry - Como obter o ID do processo aplicação de fundo
-
11-09-2019 - |
Pergunta
Na minha amora simulador i estou correndo dois aplicativo em segundo plano agora eu quero retrive que são a aplicação em execução nos background.I não como fazer. É possível mostrar que são o aplicativo em execução em segundo plano.
Solução
Lista e mudar aplicativo visível
- Para listar todas as aplicações visíveis usar ApplicationManager.getVisibleApplications ()
- Para trazer algum uso primeiro plano aplicativo ApplicationManager.requestForeground (ProcessID)
alt texto http://img195.imageshack.us/img195/7003/applist.png texto do link http://img32.imageshack.us/img32/9273/applistmenu.png
Código:
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]));
}
}
Outras dicas
Dê uma olhada na Referência de API para o RuntimeStore .
E a entrada da base de Conhecimento como alternar um aplicativo para o fundo / primeiro plano.
Boa sorte!
Não é realmente uma resposta, mas o sistema não me permite comentar.
Você realmente precisa saber o que os aplicativos em segundo plano em execução, ou apenas se seus aplicativos estão sendo executados em segundo plano. Se o último Eu imagino que você pode construir algo usando o armazenamento de tempo de execução