首页 > 代码库 > sendStickyBroadcast工作方式

sendStickyBroadcast工作方式



普通的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" />




本文出自 “whatever957” 博客,请务必保留此出处http://whatever957.blog.51cto.com/6835003/1857180

sendStickyBroadcast工作方式