android在BroadcastReceiver中获取进程名称

edo*_*oni 5 android process broadcastreceiver

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

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

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

例如,在这种情况下,它可能是:com.my.package:anotherProcess

可能吗?我该怎么做?

edo*_*oni 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;
         }
     }
Run Code Online (Sandbox Code Playgroud)