我陷入了这个麻烦,我无法弄清楚。我google了很多,但没有给我答案。
我解释一下:
我有一个在不同进程中运行的 BroadCastReceiver ( android:process=":anotherProcess"
)
我想在我的 BroadcastReceiver 中获取这个进程名称。
例如,在这种情况下,它可能是:com.my.package:anotherProcess
是否可以?我该怎么做?
我陷入了这个麻烦,我无法弄清楚。我google了很多,但没有给我答案。
我解释一下:
我有一个在不同进程中运行的 BroadCastReceiver ( android:process=":anotherProcess"
)
我想在我的 BroadcastReceiver 中获取这个进程名称。
例如,在这种情况下,它可能是:com.my.package:anotherProcess
是否可以?我该怎么做?
我找到了办法。对于任何需要这个的人:
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;
}
}