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

来源:互联网 发布:淘宝如何上传宝贝图片 编辑:程序博客网 时间:2024/05/21 06:43

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