BroadCastReceiver之本地廣播
作為四大元件之一的廣播接收者,其使用的還是相對來說比較少的。
今天主要是簡單介紹一下本地廣播。因為全域性廣播,即發出去的廣播可以被其他程式接收到,並且我們也可以接收到其他程式的廣播。這就容易引發安全問題。為了解決廣播的安全性問題,Android引入了本地廣播機制,即傳送和接收只針對本應用程式。
本地廣播的使用並不複雜。主要是使用LocalBroadcastManager來對廣播進行管理,比如,傳送和接收廣播。
首先需要建立一個廣播接收器,例如建立一個LocalBroadcastReceiver.
使用步驟:
1.獲取LocalBroadcastManager的例項,LocalBroadcastManager manager = LocalBroadcastManager.getInstance(this);
2.傳送廣播,例如:Intent intent = new Intent("com.example.broadcast.LOCAL_BROADCAST");
manager.sendBroadcast(intent);
3.過去intentFiter物件,註冊廣播,例如:
IntentFiter intentFiter = new IntentFiter();
intentFiter.andAction("com.example.broadcast.LOCAL_BROADCAST");
manager.registerReceiver(receiver,intentFiter);
4.取消註冊廣播(切記哦)
@Override
protected void onDestory(){
super.onDestory();
manager.unregisterReceiver(reciver);}
好了,用法就是這麼簡單,總結一下本地廣播的優勢吧:
1.可以明確知道廣播是傳送到本地程式,不用擔心機密資料洩漏
2.其他程式也無法傳送廣播到程式內部,不用擔心有安全漏洞問題
3.傳送本地廣播比傳送全域性廣播將會更高效。