我正在寻找一种方法来确定发送Intent
的应用程序。目前,我已经注册了BroadcastReceiver
并且一直在尝试使用Binder.getCallingPid
,但它通常会返回我应用的PID。我觉得奇怪的是通常的部分,我的应用程序偶尔会得到发送Intent
的应用程序的PID,但它并不经常,我似乎无法确定这是真实的条件。
有没有办法准确确定哪个应用发起了对BroadcastReceiver.onReceive
的调用?
@Override
public void onReceive(Context context, Intent intent) {
Log.d("Receiver", "Sender's PID: " + Binder.getCallingPid());
}