BroadcastReceivers用于接收由Android OS,其他应用程序或同一应用程序内发送的广播Intent。
每个Intent都使用Intent过滤器创建,该过滤器需要String动作。可以在Intent中配置其他信息。
同样,BroadcastReceivers注册以使用特定的Intent过滤器接收Intent。它们可以通过编程方式注册:
mContext.registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { //您的实现在这里进行。 } }, new IntentFilter("Some Action"));
或在AndroidManifest.xml文件中:
<receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="Some Action"/> </intent-filter> </receiver>
要接收该Intent,请使用以下命令将Action设置为Android OS,另一个应用程序或API或您自己的应用程序中记录的内容sendBroadcast:
mContext.sendBroadcast(new Intent("Some Action"));
此外,该Intent可以包含可在中查看的信息,例如字符串,基元和ParcelablesonReceive。