在 Android 中获取活动的应用程序名称
Posted
技术标签:
【中文标题】在 Android 中获取活动的应用程序名称【英文标题】:Get active Application name in Android 【发布时间】:2011-04-21 03:18:00 【问题描述】:我正在尝试制作一个显示所有活动应用程序的程序。
我到处搜索,但只能找到仅显示包名称的代码。
如果各位高手能告诉我如何显示所有活动的应用程序名称
,那将是非常有帮助的【问题讨论】:
【参考方案1】:您是否尝试过使用@987654321@
?
以下是检索名称的示例代码:
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
【讨论】:
是的..我确实尝试过..但是在 ActivityManager.getRunningAppProcess() 中只有获取 ProcessName 的选项。但我需要这些进程的 ApplicationName ,我无法在其中找到。 @bhups 你能告诉 mw 我怎样才能找到只有系统运行的应用程序而不是安装的应用程序? 嗨@bhups,我目前正在开发一个应用程序,当单击按钮时,它将检查应用程序是否处于活动状态(例如 Facebook),然后终止进程或应用程序。这可能吗?【参考方案2】:如果您正在获取包名称,您应该能够使用 PackageManager 获取有关应用程序的其他信息:
http://developer.android.com/reference/android/content/pm/PackageManager.html
有获取应用程序图标、ApplicationInfo 和 ActivityInfo 对象的直接方法。在我的脑海中,我不知道哪一个会引导你到可读的名称,但如果它不能通过这里的一种方法直接访问,它应该可以从应用程序资源访问(也可以从这个类访问)。
【讨论】:
【参考方案3】:我在发这篇文章时做了一些不正确的假设,现在意识到它们是不正确的。 - 已删除
【讨论】:
以上是关于在 Android 中获取活动的应用程序名称的主要内容,如果未能解决你的问题,请参考以下文章
Android 谷歌云视觉 API 获取 Json 并使用 Json 去另一个活动
Android:如何获取已安装活动的列表,就像它们出现在启动器中一样,没有重复