認識 Android 廣播
以下是 Android 廣播系統的核心知識點整理:
一、廣播系統基礎概念
- 現實類比:類似高音喇叭、收音機、電視機,也就是「單一位置發送,多個位置接收」。
- Android 機制:提供一套彈性的廣播訊息機制。每個應用程式可以註冊感興趣的廣播,只接收特定內容。
- 廣播來源:可來自系統(例如開機、電量變化),也可來自其他應用程式。
- 發送與接收:發送廣播通常透過 Intent 實作;接收廣播則依賴廣播接收器(BroadcastReceiver)。Android 提供完整 API,可自由發送與接收。
二、廣播的分類與比較
Android 廣播主要分為標準廣播與有序廣播,兩者核心差異如下:
| 比較項目 | 標準廣播 (Normal Broadcast) | 有序廣播 (Ordered Broadcast) |
|---|---|---|
| 執行方式 | 完全非同步 | 同步循序執行 |
| 接收時機 | 發送後,所有接收器同時接收 | 同一時間僅一個接收器接收,處理完才輪到下一個 |
| 先後順序 | 無先後順序 | 有順序,優先權高者優先收到 |
| 截斷機制 | 無法截斷,所有接收器一定收到 | 前面的接收器可截斷廣播,後續無法接收 |
| 效率 | 效率高 | 相對較慢(取決於傳遞鏈) |
三、運作流程圖解
- 標準廣播
發送一則廣播→ 同時分發給廣播接收器1、廣播接收器2、廣播接收器3(放射狀傳遞,不可攔截)。 - 有序廣播
發送一則廣播→廣播接收器1(可截斷) →廣播接收器2(可截斷) →廣播接收器3(線性傳遞)。
Next: 範例 – 接收系統廣播