我的Android应用使用LocalBroadcastManager
和BroadcastReceiver
在活动之间进行通信。当收到来自自己的Intent
而不是另一个Activity
时,您如何检测活动?换句话说,如果它等于this
,你如何获得广播呼叫者并忽略它。
答案 0 :(得分:1)
我不知道是否有特定的方法可以执行此操作,但是,我会向正在广播的action
添加特定的Intent
。它看起来像这样:
Intent broadcastIntent = new Intent(MyClass.class.getName());
sendBroadcast(broadcastIntent);
然后,当您收到广播时,您只需检查具体操作:
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(MyClass.class.getName()) {
// Ignore the broadcast as it's the caller calling itself...
} else {
// Do something with the broadcast...
}
}
可能有其他方法可以做到这一点(比如只是将额外内容放入Intent
然后在onReceive
方法中读出来),但我发现这是一种非常简单的获取方式来电者是谁。