Принять активное имя приложения в Android
Я пытаюсь создать программу, которая отображает все активные приложения.
Я искал всюду, но мог найти только код, который показывает только имя пакета .
Было бы очень полезно, если вы, мастера, можете сказать мне, как отображать все активные имя приложения
Ответы
Ответ 1
Вы пытались использовать ActivityManager.getRunningAppProcesses()
?
Вот пример кода для извлечения имен:
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
}
}
Ответ 2
Если вы получаете имя пакета, вы можете получить дополнительную информацию о приложении с помощью PackageManager:
http://developer.android.com/reference/android/content/pm/PackageManager.html
Существуют прямые методы получения значков приложений, объектов ApplicationInfo и ActivityInfo. В верхней части моей головы я не знаю, какой из них будет направлять вас на читаемое имя, но если он не доступен напрямую через один из методов здесь, он должен быть доступен из ресурсов приложения (также доступных из этого класса).
Ответ 3
Я сделал некоторые неправильные предположения при создании этого сообщения и теперь понял, что они были неправильными. - удален