我有一个倒计时器的服务。定时器结束后,该服务会发送广播消息。我使用下面的代码发送消息:如何防止接收广播消息
Intent intent = new Intent("CancelEvents");
intent.putExtra("message", "cancelled");
LocalBroadcastManager.getInstance(TimerClass.this).sendBroadcast(intent);
我有另一个活动,它有一个广播接收器。这是我用来接收广播信息的代码:
@Override
protected void onCreate(Bundle savedInstanceState)
{
LocalBroadcastManager.getInstance(getApplicationContext()).registerReceiver(cancelReceiver,
new IntentFilter("CancelEvents"));
}
private BroadcastReceiver cancelReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
String message = intent.getStringExtra("message");
if (message.equals("cancelled"))
{
Toast.makeText(this,
"Your Ride Got Cancelled", Toast.LENGTH_LONG).show();
}
}
};
接收工作正常。但是,问题在于所有其他活动也收到了没有接收器的消息。如何阻止此?
使用唯一意图过滤器。 – kulvinder
“但是,问题在于所有其他活动也收到了没有接收器的消息。” - 请详细解释这意味着什么。其他组件如何在没有Receiver的情况下接收广播? –
吐司在我打开的任何活动中都会显示 –