Broadcast
- Normal broadcasts : asynchronous
- Ordered broadcasts : synchronous
intent intent = new Intent("com.example.broadcastTest.MY_BROADCAST");
sendBroadcast(intent);
Register Receiver
In Activity
//Custom BroadcastReceiver,Override onReceive methods
//intentFilter : action
//前为响应后的行为,后为响应何种广播
registerReceiver(networkChangeReceiver, intentFilter);
//in onDestroy
unregisterReceiver();
In AndroidManifest,xml
<!-- custom receiver class -->
<receiver android:name=".MyBroadcastReceiver">
<!-- receiver priority -->
<intent-filter android:priority="100">
<!-- custom broadcast -->
<action android:name="com.example.broadcastTest.MY_BROADCAST" />
</intent-filter>
</receiver>
Ordered
intent intent = new Intent("com.example.broadcastTest.MY_BROADCAST");
sendOrderedBroadcast(intent, null);
Local
// 获取实例
localBroadcastManager = LocalBroadcastManager.getInstance(this);
localBroadcastManager.sendBroadcast(intent); // 发送本地广播
Local Receiver
localBroadcastManager.registerReceiver(CustomReceiver, intentFilter);
localBroadcastManager.unregisterReceiver(CustomReceiver);