广播接收者2

2019-07-18  本文已影响0人  Margaret_lhp

1. 什么是广播?广播分为几部分?

广播电台:发送信号

收音机:接收信号

2. 广播接收者:安卓四大组件之一.用于接收如电量低 短信接收 等广播信息。

3. 广播的分类:

* 有序的广播:通过优先级匹配优先级高的广播接收者先获取广播数据  有序广播可以终止广播 有序广播可以修改广播数据

* 无序的广播:电量低的广播,对于所有需要该状态的APP广播接收者来说

接收的顺序是无关紧要.(乱序每次发送广播的时候 接收的顺序是不一样  同时接收得到)

4. 有序的广播开发步骤:

1. 创建广播接收者

2. 为广播接收者配置优先级

3. 发送有序的广播

4. 定义最终的广播接收者跟踪广播状态

无序和有序广播

无序广播:当广播接收者对广播接收的顺序无关紧要。完全没顺序  顺序随机

有序广播:接收广播的顺序比较重要  当一个广播可以被拦截被修改的时候

常见的广播接收者:

1. 短信拦截器广播接收者 (有序 拦截 优先级  4.4版本以后 广播无法拦截  有序->无序 有些定制手机不遵循规范)

2. 电话外拨广播接收者(有序广播  其他的广播接收者先接收到广播事件--->最后

打电话的应用里面的广播(少于-1000 )才接收到广播然后打开打电话的界面  -1000~1000)

3. SD卡状态监听广播接收者 (无序)

4. 安装卸载的广播接收者  (无序)

广播接收者不可执行耗时操作

ANR:Application NOT RESPONSE   应用无响应  当应用卡顿超过5秒之后

onReceive  不能执行耗时操作 因为他运行在主线程里面执行

实验步骤:

1. 创建一个广播接收者。

2. 在广播接收者里面模拟一个耗时操作

解决方案:如果想在广播接收者里面执行耗时操作,就必须创建一个线程。

上一篇下一篇

猜你喜欢

热点阅读