Question

Je suis en train de faire un programme qui montre toutes les applications actives.

Je recherche partout mais ne pouvait trouver le code qui indique le nom du package uniquement.

Il serait d'une grande aide si vous maîtres peut me dire comment afficher tous le nom actif de l'application

Était-ce utile?

La solution

Avez-vous essayé en utilisant ActivityManager.getRunningAppProcesses()? Voici le code exemple pour récupérer les noms:

ActivityManager am = (ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
List l = am.getRunningAppProcesses();
Iterator i = l.iterator();
PackageManager pm = this.getPackageManager();
while(i.hasNext()) {
  ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)(i.next());
  try {
    CharSequence c = pm.getApplicationLabel(pm.getApplicationInfo(info.processName, PackageManager.GET_META_DATA));
    Log.w("LABEL", c.toString());
  }catch(Exception e) {
    //Name Not FOund Exception
  }
}

Autres conseils

Si vous obtenez le nom du package, vous devriez être en mesure d'obtenir des informations supplémentaires sur l'application à l'aide du PackageManager:

http://developer.android.com/reference/android/ contenu / h / PackageManager.html

Il existe des méthodes directes pour obtenir l'icône de l'application, les objets ApplicationInfo et ActivityInfo. Du haut de ma tête, je ne sais pas où l'on pourrait vous diriger vers le nom lisible, mais si ce ne est pas directement accessible par l'une des méthodes ici, il devrait être accessible à partir des ressources d'application (également accessible de cette classe).

J'ai fait quelques hypothèses incorrectes lors de ce poste et se rendre compte maintenant ils étaient incorrects. - supprimé

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top