2012-08-06 6 views
10

ブロードキャストがスティッキーモードで送信されたかどうかを確認することは可能ですか?ブロードキャストがスティッキーモードで送信されたかどうかを確認することは可能ですか?中止/取り消しできますか?

スティッキーブロードキャストを完全に中断/削除できますか?はいの場合は、通常の放送と注文された放送の両方に対応できますか? onReceive()

+2

スティッキーブロードキャストは削除できます。参照してください.... http://stackoverflow.com/questions/11839043/android-how-can-i-completely-abort-remove-sticky-broadcast –

答えて

20

次の呼び出しを使用することができます

isInitialStickyBroadcast()を - あなたが現在処理されている放送は、「スティッキー」として送信され、BroadcastReceiverが登録されたときに、現在の1とした場合、これはあなたを教えてくれます。

isOrderedBroadcast() - これは、現在処理中のブロードキャストが「順序付けられた」ブロードキャストとして送信されたかどうかを示します。

あなただけの「スティッキー」の放送があるかどうかを確認したい場合は、

registerReceiver (BroadcastReceiver receiver, IntentFilter filter) 

を呼び出し、receiverパラメータとしてnullを供給することができます。これは、実際に受信機を登録することなく「スティッキー」な放送を返します。

あなたは使用してスティッキーブロードキャストを削除することができます。

removeStickyBroadcast(Intent intent) 

しかし、私見を逆効果になること。通常、「スティッキー」のブロードキャストは、の現在の状態を示すように送信されます。したがって、それを削除することは、アプリケーションが現在の状態を判断することができないことを意味します。