android学习笔记——LocalBroadcastReceiver简单学习

本地广播和普通的广播在代码上区别不大,就是多了个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();
    }
}

4.注册好广播接收器的要接收的广播地址。。。
intentFilter new IntentFilter();
intentFilter.addAction( "com.example.broadcasttest.LOCAL_BROADCAST");
mBroadcastReceiver new mBroadcastReceiver();
localBroadcastManager.registerReceiver(mBroadcastReceiver,intentFilter);

5.在onDestroy()中取消注册
protected void onDestroy() {
    super.onDestroy();
    localBroadcastManager.unregisterReceiver( mBroadcastReceiver);
}

也比较简单。本地广播有它的优势,下面来说一下
1.可以明确的知道正在发送的广播不会离开我们的程序,因此不用担心机密数据泄露问题
2.其他程序无法将广播发送到我们程序的内部,因此不需要担心会有安全漏洞的隐患
3.发送本地广播要比全局广播更加高效

你可能感兴趣的:(android学习笔记)