Androidブロードキャストを理解する
以下はAndroidブロードキャストシステムの核心的な知識の整理です:
一、ブロードキャストシステムの基本概念
- 現実の例え:拡声器、ラジオ、テレビに似ており、「一箇所から送信し、複数箇所で受信する」仕組みです。
- Androidの仕組み:柔軟なブロードキャストメッセージ機能を提供します。各アプリは関心のあるブロードキャストを登録し、特定の内容だけを受信できます。
- ブロードキャストの送信元:システム(起動、電池残量変化など)または他のアプリケーションから送信されます。
- 送信と受信:ブロードキャストの送信は主にIntentで実装します。受信にはBroadcastReceiverを使用します。Androidは送受信を自由に行うための完全なAPIを備えています。
二、ブロードキャストの種類と比較
Androidのブロードキャストは主に通常ブロードキャストと順序付きブロードキャストに分かれます。両者の主な違いは下記の通りです:
| 比較項目 | 通常ブロードキャスト (Normal Broadcast) | 順序付きブロードキャスト (Ordered Broadcast) |
|---|---|---|
| 実行方式 | 完全非同期 | 同期順次実行 |
| 受信タイミング | 送信後、全レシーバーが同時に受信 | 同時に受信するレシーバーは1つだけ。処理完了後に次へ渡る |
| 受信順序 | 順序なし | 順序があり、優先度の高いレシーバーが先に受信 |
| 中断機能 | 中断不可、すべてのレシーバーが受信する | 前のレシーバーがブロードキャストを中断でき、後続には届かない |
| パフォーマンス | 高速 | 相対的に低速(伝達チェーンに依存) |
三、動作フローの解説
- 通常ブロードキャスト
ブロードキャスト送信→BroadcastReceiver1、BroadcastReceiver2、BroadcastReceiver3へ同時配信(放射状、遮断不可)。 - 順序付きブロードキャスト
ブロードキャスト送信→BroadcastReceiver1(中断可) →BroadcastReceiver2(中断可) →BroadcastReceiver3(線形伝達)。
Next: 例 – システムブロードキャストを受信する