一般的广播都属于全局广播,发出的广播可以被其他任何应用程序收到,并且我们也可以接收其他任何应用的广播,这样很容易引起安全性的问题,为此Android引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序内部进行传递,并且广播接收器也只能接收来自本应用程序发出的广播。
本地广播用法很简单,主要使用了一个LocalBroadcastManager来对广播进行管理,并提供了发送广播和注册广播接收器的方法,具体代码如下:
public class MainActivity extends AppcompatActivity{
private IntentFilter intentFilter;
private LocalReceiver localReceiver;
private LocalBroadcastManager localBroadcastManager;
@Override
protected void onCreate(Bundle savedInstanceState){
...
localBroadcastManager = LocalBroadcastManager.getInstance(this);
Intent intent = new Intent("com.example.broadcasttest.LOCAL_BROADCAST");
localBroadcastManager.sendBroadcast(intent);
}
intentFilter = new IntentFilter();
intentFilter.addAction("com.example.broadcasttest.LOCAL_BROADCAST");
loca