回答:
Android SDKについてsendStickyBroadcast()
次のように述べています。
「スティッキー」なsendBroadcast(Intent)を実行します。これは、送信するインテントがブロードキャストの完了後も保持されるため、他のユーザーがregisterReceiver(BroadcastReceiver、IntentFilter)の戻り値を通じてそのデータをすばやく取得できるようにするためです。他のすべての点で、これはsendBroadcast(Intent)と同じように動作します。
オペレーティングシステムを介して送信されるスティッキーブロードキャストの一例はACTION_BATTERY_CHANGED
です。registerReceiver()
そのアクションを呼び出すと、たとえaが付いていても、そのアクションの最後にブロードキャストされnull
BroadcastReceiver
たIntent
ものを取得します。したがって、これを使用して、バッテリーの将来のすべての状態変化に必ずしも登録することなく、バッテリーの状態を見つけることができます。
タイプ:-ローカル、通常、順序付き、スティッキー
通常の放送
:-sendBroadcast()を使用します
:-非同期ブロードキャスト
:-レシーバは特定の順序ではなくブロードキャストを受信します
注文した放送
:-sendOrderedBroadcast()を使用します
:-同期ブロードキャスト
:-レシーバーは優先度ベースでブロードキャストを受信します
:-このタイプのブロードキャストを中止することもできます
ローカル放送
:-ブロードキャストが同じプロセス内でのみ使用される場合にのみ使用
スティッキーブロードキャスト
:-これがシステムによって送信および処理された後は、通常のブロードキャストインテントは使用できなくなります。
:-sendStickyBroadcast(Intent)を使用します
:-対応するインテントはスティッキーです。つまり、送信するインテントは、ブロードキャストの完了後も残ります。
:-このため、他のユーザーはregisterReceiver(BroadcastReceiver、IntentFilter)の戻り値を通じてそのデータをすばやく取得できます。
:-sendBroadcast(Intent)と同じです。
sendbroadcast()
-通常の放送ですが、優先度を設定することもできます。
sendstickybroadcast()
-これで渡された意図は、コード(動的レシーバー)を通じて登録する将来のユーザーに固執します。Androidに固執し、任意のブロードキャストレシーバーからの将来のリクエストに再配信または再ブロードキャストされるブロードキャスト
誰かがsendstickyBroadcast(intent);
それを使用してスティッキーブロードキャストを送信すると、そのブロードキャストは、ダイナミックレシーバーを使用している将来のユーザーが利用できるようになります。
しかし、今sendStickyBroadcast()
では非推奨のメソッドを使用すべき ではありません
Androidドキュメントから:
このメソッドはAPIレベル21で廃止されました。スティッキーブロードキャストは使用しないでください。それらはセキュリティ(誰でもアクセスできる)、保護(誰でも変更できる)、および他の多くの問題を提供しません。推奨されるパターンは、スティッキーでないブロードキャストを使用して何かが変更されたことを報告することであり、アプリが別のメカニズムで必要に応じて現在の値を取得することです
これがお役に立てば幸いです。