關於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取消注冊服務,其他同普通廣播。
附上介紹比較全麵的這篇文章:https://www.cnblogs.com/trinea/archive/2012/11/09/2763182.html
最後更新:2017-04-03 14:54:20