引入本地广播机制为了解决安全性的问题:
1、正在发送的广播不会离开应用程序,不必担心机密数据泄露;
2、其他程序无法将广播发送到应用程序内部,不担心安全漏洞;
3、发送本地广播比发送全局广播高效。
使用方法:
通过LocalBroadcastManager的getInstance()方法获得实例,动态注册。
private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (null != intent && intent.getAction().equalsIgnoreCase(FILTER_CHANGE_XXX)) { String filter = intent.getExtras().getString(KEY_XXX_FILTER); resetFilter(filter);// Do Something } } };
注册:
LocalBroadcastManager.getInstance(getActivity()) .registerReceiver(mReceiver, new IntentFilter(FILTER_CHANGE_XXX));
取消注册:
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mReceiver);