在 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:如何获取已安装活动的列表,就像它们出现在启动器中一样,没有重复

android,如何获取包名?

如何从应用程序中其他应用程序的所有活动列表中获取主要活动名称?

如何获取活动功能区选项卡名称?

如何获取任务管理器中显示的活动窗口应用程序名称