1. 程式人生 > >BroadCastReceiver之本地廣播

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");

LocalBraodcastReceiver     receiver = new LocalBraodcastReceiver ();

manager.registerReceiver(receiver,intentFiter);

4.取消註冊廣播(切記哦)

@Override

protected void onDestory(){

super.onDestory();

manager.unregisterReceiver(reciver);}

好了,用法就是這麼簡單,總結一下本地廣播的優勢吧:

1.可以明確知道廣播是傳送到本地程式,不用擔心機密資料洩漏

2.其他程式也無法傳送廣播到程式內部,不用擔心有安全漏洞問題

3.傳送本地廣播比傳送全域性廣播將會更高效。