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