确定BroadcastReceiver中Intent的来源

Tom*_*Tom 6 android broadcastreceiver android-intent android-binder

我正在寻找一种方法来确定发送的应用程序Intent.目前,我已经注册了BroadcastReceiver并且一直在尝试使用Binder.getCallingPid,但它通常会返回我的应用程序的PID.我觉得奇怪的是通常的部分,我的应用程序偶尔得到发送的应用程序的PID Intent,但它不常见,我似乎无法确定这是真的条件.

有没有办法准确确定哪个应用程序发起了呼叫BroadcastReceiver.onReceive

@Override
public void onReceive(Context context, Intent intent) {
    Log.d("Receiver", "Sender's PID: " + Binder.getCallingPid());
}
Run Code Online (Sandbox Code Playgroud)