如何从android中的进程获取应用程序名称?

时间:2012-02-06 07:55:54

标签: android background-process pid

我正在尝试让后台运行应用程序名称。这是我的代码

ActivityManager am = (ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE);
    List<ActivityManager.RunningServiceInfo> li = am.getRunningServices(100);
    for(ActivityManager.RunningServiceInfo list2 : li){
        Log.d("DEBUG: ", "Background process: " + list2.process);
        Log.d("DEBUG: ", "Background pid: " + list2.pid);
    }

如何从上面的代码中获取应用程序名称或包名?

我们还有其他方法可以找到后台运行的应用程序名称吗?

2 个答案:

答案 0 :(得分:1)

我认为你可以从li.service获得包经理

ComponentName拥有方法getPackageName()。

然后,您可以使用PackageManager检索有关此程序包的更多详细信息。

答案 1 :(得分:1)

也许您可以尝试以下方法(同时您应该检查代码,因为我没有检查它)

ComponentName mComponentName = list2.service;
Log.d("DEBUG: ", "ClassName: " + mComponentName.getClassName() + " Package: " + mComponentName.getPackageName());