2010-10-05 107 views
14

我正在尝试制作一个显示所有活动应用程序的程序。在Android中获取活动的应用程序名称

我到处搜索,但只能找到只显示包名的代码。

这将是很大的帮助,如果你的主人能告诉我如何显示所有活动应用程序名称

回答

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 
    } 
}

+0

yes..i did try..but在ActivityManager.getRunningAppProcess()中只有获取ProcessName的选项。但我需要这些进程的ApplicationName,并且我无法在其中找到它。 – Shijilal 2010-10-05 06:48:22

+0

我已编辑与工作代码的答案。 – bhups 2010-10-05 07:37:02

+0

@bhups可以告诉mw我怎么才能找到系统运行的应用程序没有安装的应用程序? – user3233280 2014-11-23 07:38:41

1

如果您收到包的名称,你应该能够获得有关使用PackageManager应用程序的更多信息:

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

有直接获取应用程序图标,ApplicationInfo和ActivityInfo对象的方法。关于我的头顶,我不知道哪一个会引导您读取可读的名称,但如果它不能通过此处的某个方法直接访问,则应该从应用程序资源(也可从此类访问)访问它。

-2

我做了一些不正确的假设,当做这个职位,现在认识到他们是不正确的。 - 删除

相关问题