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" />




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章