- 动态注册广播:不是常驻型广播,它跟随 Activity 的生命周期。需要在 Activity 结束前,移除广播接收器。
- 静态注册广播:常驻型广播,当应用程序关闭后,如果有广播过来,程序也会被系统调用自动运行。
- 有序广播:优先级高的先接收(不管静态或者动态)。同优先级的广播接收器,动态优先于静态。
同优先级的同类广播接收器:静态:先扫描的优先于后扫描的;动态:先注册的优先于后注册的。
一.动态注册
关键代码
class MyActivity extentds Activity{
//DYNC_BROADCAST可以随意,但注册广播和发送广播时action应该保持一致
private static final String DYNC_BROADCAST = "guo.com.example.dyncBroadcastReceiver";
private DyncBroadcastReceiver dyncBroadcastReceiver = new DyncBroadcastReceiver();
@Override
protected void onCreate(Bundle savedInstanceState) {
.....
// 注册广播
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(DYNC_BROADCAST);
registerReceiver(dyncBroadcastReceiver, iFilter);
}
// 发送广播通知
protected vo