一.发送自定义广播:
1.首先发送广播之前 先准备一个可以接收该自定义广播的广播接收器
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "received in MyBroadcastReceiver",
Toast.LENGTH_SHORT).show();
}
}
在配置文件中进行静态注册
<receiver android:name="com.example.administrator.pandora.MyBroadcastReceiver" >
<intent-filter>
<action android:name="com.example.broadcasttest.MY_BROADCAST" />
</intent-filter>
</receiver>
准备好接收器之后
开始自定义发送广播 这个广播的action 要和在配置文件注册的广播接收器action对应
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");
sendBroadcast(intent);
}
});
上述讲述的 标准广播的发送 这种广播是异步的 系统级别的全局广播 另外一种广播是有序广播
既然是有序的 就有优先级的不同 可以使用其实也就是发送的方法不同 这里就不再解释了!
二.使用本地广播
前面我们发送和接收的广播全部都是属于系统全局广播,即发出的广播可以被其他任何
的任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。这样就很容
易会引起安全性的问题,比如说我们发送的一些携带关键性数据的广播有可能被其他的应用
程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃圾广播。
本地广播的用法并不复杂,主要就是使用了一个LocalBroadcastManager 来对广播进行
管理,并提供了发送广播和注册广播接收器的方法。
本地广播是无法静态注册的 也是在在代码中动态注册 就跟接收系统系统广播那样具体详情 需要用的时候再查