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.发送本地广播比发送全局广播将会更高效。

猜你喜欢

转载自blog.csdn.net/wayne214/article/details/54311959