1つのBroadcastReceiverを複数のIntentServicesに使用できますか?
broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//get stuff from the intent and do whatever you want
}
};
に、このような放送受信機のリスナーを定義することができますそして、あなたは(ものonCreate()で)このような受信機に登録単一IntentServiceのための通常
:
にLocalBroadcastManager.getInstance(this)
.registerReceiver(broadcastReceiver, new IntentFilter("my_intent_service"));
そしてあなたがIntentServiceを開始します。
Intent intent = new Intent(this, MyIntentService.class);
startService(intent);
そしてIntentServiceにあなたが戻ってメッセージを送信前述しonReceive
方法をトリガ
Intent broadcastIntent = new Intent("my_intent_service");
broadcastIntent.putExtra("whateverData", whateverData);
LocalBroadcastManager.getInstance(this).sendBroadcast(broadcastIntent);
:を有する受信機に関する。その後、
とレシーバの登録を解除するには、あなたが行うことができますonDestroyメソッドで:マニフェストファイルの
LocalBroadcastManager.getInstance(this).unregisterReceiver(broadcastReceiver);
、あなたがあなたのサービスのために追加します。
<service
android:name=".MyIntentService"
android:exported="false" />
私は、複数の放送を受信したいです同じアクティビティのIntentServices。
IntentServiceごとに1台の受信機が必要ですか?で、私が作る場合、n
IntentServicesはn
受信者を登録する必要があります、n
リスナーを作成し、onDestroyのn
受信者の登録を解除しますか?