BroadcastReceiver 基礎知識

BroadcastReceivers 用於接收由 Android OS,其他應用程式或同一應用程式傳送的廣播 Intent

每個 Intent 都是使用 Intent Filter 建立的,它需要一個 String 操作。可以在 Intent 中配置其他資訊。

同樣,BroadcastReceivers 註冊接收具有特定 Intent Filter 的 Intents。它們可以通過程式設計方式註冊:

mContext.registerReceiver(new BroadcastReceiver() {
    @Override
   public void onReceive(Context context, Intent intent) {
      //Your implementation goes here.
   }
}, new IntentFilter("Some Action"));

或者在 AndroidManifest.xml 檔案中:

<receiver android:name=".MyBroadcastReceiver">
    <intent-filter>
        <action android:name="Some Action"/>
    </intent-filter>
</receiver>

要接收 Intent,請使用 sendBroadcast 將 Action 設定為 Android OS,其他應用或 API 或你自己的應用程式中記錄的內容:

mContext.sendBroadcast(new Intent("Some Action"));

此外,該意圖可以包含資訊,諸如字串,原語和 Parcelables 並,可在 onReceive 檢視。