标签:
广播 是一种广泛运用的应用程序传输信息的机制
BroadcastReceiver ---> 广播接收者(接收广播的类)
发送:
1.信息装入Intent对象(如Action,Category)。
2.通过调用相应的方法将Intent对象以广播的方式发送出去。
.sendBroadcast()
.sendOrderBroadcast()
.sendStickyBroadcast()
接收:
当上述的Intent被发送之后, 所有已经注册过BroadcastReceiver会检查注册
时IntentFilter是否与发送的Intent相匹配, 若匹配说明你有资格接收,就会调用Broadcast Receiver的onRec eive()方法。一定要注册!
注意生命周期非常短 !BroadcastReceiver 里面不做耗时操作,别开子线程。
广播的种类
普通广播
1.同级别接收先后是随机的
2.级别低的后收到广播
3.接收器不能截断广播的继续传播,也不能处理广播
4.同级别动态注册高于静态注册
动态注册
在onCreate() 中建立一个过滤器,
IntentFilter intentFiler = new IntentFilter("action_name");
registerReceiver(广播类, intentfilter);
缺点:程序必须运行起来才能够注册.
有序广播
1.同级别接收的顺序是随机的。
2.能截断广播的继续传播
3.接收器能截断广播的继续传播,也能处理广播
当你在onReceive中接收到intent后你可以对其进行修改然后发出去。
4.同级别动态注册高于静态注册
异步广播
例子 广播接收者要实现 BroadcastReceiver 类 实现onReceive()方法。
注册监听器, 在intent-fliter 中设置优先级。
标签:
原文地址:http://www.cnblogs.com/QiaoJun-Fighting/p/4583153.html