本地广播和普通的广播在代码上区别不大,就是多了个LocalBroadcastManager。看代码吧
1.获取一个localBroadcastManager实例
2.使用localBroadcastManager.sendBroadcast(intent)方法发送广播
3.写好广播接收器
4.注册好广播接收器的要接收的广播地址,然后使用localBroadcastManager.registerReceiver(mBroadcastReceiver,intentFilter);方法进行注册
5.记得在onDestroy()中取消注册
1.获取本地广播管理器的实例
localBroadcastManager = LocalBroadcastManager.getInstance(this);//获取实例
2.发送本地广播
localBroadcastManager.sendBroadcast(intent);//发送本地广播
3.写好广播接收器
public class mBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"mBroadcastReceiver",Toast.LENGTH_LONG).show();
}
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"mBroadcastReceiver",Toast.LENGTH_LONG).show();
}
}
4.注册好广播接收器的要接收的广播地址。。。
intentFilter = new IntentFilter();
intentFilter.addAction("com.example.broadcasttest.LOCAL_BROADCAST");
mBroadcastReceiver = new mBroadcastReceiver();
intentFilter.addAction("com.example.broadcasttest.LOCAL_BROADCAST");
mBroadcastReceiver = new mBroadcastReceiver();
localBroadcastManager.registerReceiver(mBroadcastReceiver,intentFilter);
5.在onDestroy()中取消注册
protected void onDestroy() {
super.onDestroy();
localBroadcastManager.unregisterReceiver(mBroadcastReceiver);
super.onDestroy();
localBroadcastManager.unregisterReceiver(mBroadcastReceiver);
}
也比较简单。本地广播有它的优势,下面来说一下
1.可以明确的知道正在发送的广播不会离开我们的程序,因此不用担心机密数据泄露问题
2.其他程序无法将广播发送到我们程序的内部,因此不需要担心会有安全漏洞的隐患
3.发送本地广播要比全局广播更加高效
本文详细介绍了Android中本地广播的实现方式,包括如何获取本地广播管理器实例、发送本地广播、编写及注册广播接收器,并强调了本地广播的安全性和效率优势。

5205

被折叠的 条评论
为什么被折叠?



