普通的sendBroadcast()发送广播时,如果某些应用在发送前并没有进行注册监听,那么该广播讲不被接收到;为了保证任意时刻应用注册监听该广播时,都能接收到(不用考虑先后问题(时序)),那么,使用sendStickyBroadcast()是一个优雅的办法。
sendStickyBroadcast的工作原理时,系统会保持这个广播,当系统检测到某个应用调用registerBroadcast(filter,receiver)监听该广播时,如果之前已经有发送该广播,则该应用注册成功后,会立即收到这个广播(即注册一个,立即会收到该广播)。
如果要移除之前发送的sticky广播,只需执行removeStickyBroadcast(new Intent("com.xxx.acton“),只需指定action即可。
注:要是用sendStickyBroadcast(),记得在AndroidManifest.xml中声明权限:
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。