我有一個倒計時器的服務。定時器結束後,該服務會發送廣播消息。我使用下面的代碼發送消息:如何防止接收廣播消息
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的情況下接收廣播? –
吐司在我打開的任何活動中都會顯示 –