在Android中获取活动的应用程序名称

时间:2010-10-05 05:39:34

标签: android android-package-managers

我正在尝试创建一个显示所有活动应用程序的程序。

我搜索了所有地方,但只能找到仅显示包名称的代码。

如果您的主人能告诉我如何显示所有活跃的应用程序名称

,那将会非常有帮助

3 个答案:

答案 0 :(得分:33)

您尝试使用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
  }
}

答案 1 :(得分:1)

如果您要获取软件包名称,您应该能够使用PackageManager获取有关该应用程序的其他信息:

http://developer.android.com/reference/android/content/pm/PackageManager.html

有获取应用程序图标,ApplicationInfo和ActivityInfo对象的直接方法。在我的脑海中,我不知道哪一个会引导您使用可读的名称,但是如果它不能通过这里的方法之一直接访问,则应该可以从应用程序资源访问它(也可以从此类访问)。

答案 2 :(得分:-2)

我在撰写这篇文章时做了一些不正确的假设,现在意识到它们是不正确的。 - 已删除