关于Android BroadcastReceiver一点点需要注意的地方

1. 粘性广播,如果广播接收者在广播发送者发送了某条广播之后才注册自己的Receiver,那么此时接收者是无法接收到刚才发送的广播的,此时便可以使用粘性广播(StickyBroadcast),多条相同Action的广播只会接收其中一条,系统网络状态的改变发送的广播就是粘性广播,使用粘性广播需<uses-permission android:name="android.permission.BROADCAST_STICKY"/>权限

2. 本地广播,因为Android的Broadcast是跨进程的,为了解决BroadcastReceiver进程间的安全问题,使用本地广播(LocalBroadcastManager),相对于Context操作的BroadcastReceiver而言具有更高的运行效率,需引入Android Support Library。通过LocalBroadcastManager.getInstance(context).sendBroadcast(intent)发送广播,LocalBroadcastManager.getInstance(context).registerReceiver注册服务,通过LocalBroadcastManager.getInstance(context).unregisterReceiver取消注册服务,其他同普通广播。

附上介绍比较全面的这篇文章:http://www.cnblogs.com/trinea/archive/2012/11/09/2763182.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值