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 查看。