作为四大组件之一的广播接收者,其使用的还是相对来说比较少的。
今天主要是简单介绍一下本地广播。因为全局广播,即发出去的广播可以被其他程序接收到,并且我们也可以接收到其他程序的广播。这就容易引发安全问题。为了解决广播的安全性问题,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.发送本地广播比发送全局广播将会更高效。