Android Broadcast Receiver详解
2017-11-14 本文已影响0人
AKyS佐毅
1、Broadcast Receiver简介
- 广播是一种广泛运用在应用程序之间传输信息的机制,而BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件。
2、Broadcast Receiver机制和实现方法
- 在Android里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也可以监听这些广播并作出程序逻辑的处理,
![](https://img.haomeiwen.com/i325120/bb063ea39357ace0.jpeg)
静态注册实现
![](https://img.haomeiwen.com/i325120/626cae107081f155.png)
静态注册
![](https://img.haomeiwen.com/i325120/e1883ceff028a385.png)
动态注册:广播接收
![](https://img.haomeiwen.com/i325120/c904902e0802d969.png)
动态注册: 注册广播
![](https://img.haomeiwen.com/i325120/be73350da0b37692.png)
生命周期
- 调用对象
- 实现onReceive
- 结束
- 生命周期只有十秒左右,如果在onReceive()内做超过十秒的事情,就会报错。
如何用好BroadcastReceiver
- 如果需要完成一项比较耗时的工作,应该通过发送Intent给Service,由Service来完成。
- 这里不能使用子线程来解决,因为BroadcastReceiver的生命周期很短,子线程可能还没结束,Broadcast就先结束了。