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
檢視。