Android 使用LocalBroadcastManager
示例
LocalBroadcastManager用于在应用程序中发送广播意图,而不会将它们暴露给不需要的侦听器。
使用LocalBroadcastManager比使用context.sendBroadcast文件()直接,因为您不需要担心其他应用程序伪造的任何广播,这可能会带来安全隐患。
这是发送和接收本地广播的简单示例:
BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("Some Action")) { //做点什么 } } }); LocalBroadcastManager manager = LocalBroadcastManager.getInstance(mContext); manager.registerReceiver(receiver, new IntentFilter("Some Action")); // 此调用将调用onReceive(): manager.sendBroadcast(new Intent("Some Action"));//另请参见sendBroadcastSync //完成后,请记住注销接收器: manager.unregisterReceiver(receiver);