android在BroadcastReceiver中获取进程名称

时间:2012-10-03 10:50:41

标签: android process broadcastreceiver

我遇到了这个麻烦,我无法理解。我google了很多,但没有给我一个答案。

我解释:
我有一个BroadCastReceiver,它在不同的进程(android:process=":anotherProcess"

中运行

我想在BroadcastReceiver中获取此进程名称。

示例的情况下,可能是:com.my.package:anotherProcess

有可能吗?我该怎么办?

1 个答案:

答案 0 :(得分:2)

我找到了办法。对于任何需要这个的人:

     int id = Process.myPid();
     String myProcessName =context.getPackageName();

     ActivityManager actvityManager = (ActivityManager)context.getSystemService( context.ACTIVITY_SERVICE );
     List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();

     for(RunningAppProcessInfo procInfo : procInfos) {
         if (id == procInfo.pid)
         {
             myProcessName = procInfo.processName;
         }
     }