Android中本地广播LocalBroadcastManager的使用

LocalBroadcast与常用的Broadcast功能类似,但是具有如下优点:
1.因广播数据在本应用范围内传播,因此不必担心隐私数据泄露的问题。
2.不必担心别的应用伪造广播,造成安全隐患。
3.相比在系统内发送全局广播,它更高效。

LocalBroadcast的使用方法如下:

发送广播:
Intent intent = new Intent("com.test.action");
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);

接收广播:
//注册广播
private void registerDeviceEventReceiver() {
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction("com.test.action");
    LocalBroadcastManager.getInstance(context).registerReceiver(deviceEventReceiver, intentFilter);
}
//注销广播
private void unregisterDeviceEventReceiver() {
    LocalBroadcastManager.getInstance(context).unregisterReceiver(deviceEventReceiver);
}
//广播接收器
private BroadcastReceiver deviceEventReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction() == null) {
            return;
        }
        if ("com.test.action".equals(intent.getAction())) {
            //TODO: 逻辑处理
        }
    }
};

你可能感兴趣的:(Android相关)