在Android中获取活动的应用程序名称
问题描述:
答
你尝试使用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
}
}
答
如果您收到包的名称,你应该能够获得有关使用PackageManager应用程序的更多信息:
http://developer.android.com/reference/android/content/pm/PackageManager.html
有直接获取应用程序图标,ApplicationInfo和ActivityInfo对象的方法。关于我的头顶,我不知道哪一个会引导您读取可读的名称,但如果它不能通过此处的某个方法直接访问,则应该从应用程序资源(也可从此类访问)访问它。
答
我做了一些不正确的假设,当做这个职位,现在认识到他们是不正确的。 - 删除
yes..i did try..but在ActivityManager.getRunningAppProcess()中只有获取ProcessName的选项。但我需要这些进程的ApplicationName,并且我无法在其中找到它。 – Shijilal 2010-10-05 06:48:22
我已编辑与工作代码的答案。 – bhups 2010-10-05 07:37:02
@bhups可以告诉mw我怎么才能找到系统运行的应用程序没有安装的应用程序? – user3233280 2014-11-23 07:38:41