一.Android广播机制的介绍
特点:发送方并不关心接收方是否收到数据,以及受到数据之后的操作。
二.BroadcastReceiver的作用
广播接收者( BroadcastReceiver )用于接收广播 Intent ,广播 Intent 的发送是通过调用 Context.sendBroadcast() 、 Context.sendOrderedBroadcast() 来实现的。通常一个广播 Intent 可以被订阅了此 Intent 的多个广播接收者所接收。
广播是一种广泛运用的在应用程序之间传输信息的机制 。而 BroadcastReceiver 是对发送出来的广播进行过滤接收并响应的一类组件;
来自普通应用程序,如一个应用程序通知其他应用程序某些数据已经下载完毕。
BroadcastReceiver 自身并不实现图形用户界面,但是当它收到某个通知后, BroadcastReceiver 可以启动 Activity 作为响应,或者通过 NotificationMananger 提醒用户,或者启动 Service 等等。
三.BroadcastReceive的生命周期
当点击按钮之后intent会到AndroidManifest.xml文件中找是不是有匹配的action,如果有就会调用TestReceiver ,然后获得TestReceiver 对象,再执行onReceive方法,这时候TestReceiver 对象就没有用了,当我们再次点击按钮的时候就会重新获得对象,这就是BroadcastReceiver的生命周期;
四.对于整个BroadcastReceive是如何实现的自我观点
首先,需要自己定义一个继承自BroadcastReceive的类,然后复写它的onReceive方法,我们主要的代码都在这个方法里面写。然后,需要在AndroidManifest.xml这里面进行注册一下,用<receive>这个标签进行生命,并用<intent-filter>进行过滤,这里面有一点很重要的是intent是由action和edit这俩方面决定。然后就是编写Activity这个类,这里面需要需要写一个监听器,然后通过Intent的setAction以及Activity的sendBroadcast进行发送广播。