使用LocalBroadcastManager

LocalBroadcastManager是Android Support包提供了一個工具,是用來在同一個應用內的不同組件間發送Broadcast的。

使用LocalBroadcastManager有如下好處:

  • 發送的廣播只會在自己App內傳播,不會泄露給其他App,確保隱私數據不會泄露
  • 其他App也無法向你的App發送該廣播,不用擔心其他App會來搞破壞
  • 比系統全局廣播更加高效

和系統廣播使用方式類似:

先通過LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this); 獲取實例

然後通過函數 registerReceiver來註冊監聽器

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. lbm.registerReceiver(new BroadcastReceiver() {  
  2.         @Override  
  3.         public void onReceive(Context context, Intent intent) {  
  4.         // TODO Handle the received local broadcast  
  5.         }  
  6.     }, new IntentFilter(LOCAL_ACTION));  
  7.   
  8. Read more: http://blog.chengyunfeng.com/?p=498#ixzz2l9b1fFR2  

通過 sendBroadcast 函數來發送廣播

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. lbm.sendBroadcast(new Intent(LOCAL_ACTION));  

本文出自 雲在千峯,

本文永久鏈接: http://blog.chengyunfeng.com/?p=498


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