8.3 BroadcastReceiver

简介

应用程序间的全局大喇叭,即通信的一个手段;

注意:1.广播中不允许开辟线程,onReceiver方法运行超过10秒会ANR;

           2.广播更多时候扮演一个打开其他组件的角色(eg:启动Service,Activity,Notification);


广播类型

标准广播:异步执行,广播发出后,所有广播接收器同时接收到这条广播;

有序广播:同步执行,广播发出后,同一时间只有一个广播接受者能接收到,处理完才会传递下一个,并且可拦截掉不传递;


注册广播

动态注册:java代码中指定IntentFilter,添加action,需调用unregisterReceiver取消注册,需程序启动才能接收到广播;

静态注册:清单文件配置,程序未启动也能接收到广播;


使用

1.两种注册方式案例

注:动态注册,静态注册只是注册方式,响应系统或自定义广播都需要广播接收器

广播接收器

动态注册使用:

动态注册

静态注册使用:

静态注册

2.发送自定义广播

上面例子都是接收系统广播,我们还可以自定义广播,专门接收我们需要的。

发送广播

这里案例采用 发送标准广播 和 动态注册:

使用

你可能感兴趣的:(8.3 BroadcastReceiver)