
public class MyBroadCastDemo extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// 此处编写代码}}


定义广播组件,组件类继承BroadcastReceiver类
publicclass MyBroadcastReceiverUtil extends BroadcastReceiver {// 继承BroadcastReceiverpublic MyBroadcastReceiverUtil(){// 构造方法System.out.println("** 每次广播都会实例化一个新的广播组件进行操作。");}@Overridepublicvoid onReceive(Context context, Intent intent) {Toast.makeText(context, "广播已经启动", Toast.LENGTH_LONG).show();// 显示信息}}
广播接受者分类
无序广播:顾名思义,这种广播可以想象成一个人在说话,一群人在听,很难说清是谁先听到的,所以我们说它是无序的,其实说是说无序的,它其实是有序的,是按照应用程序的安装的先后有顺序,先安装的先收到,后安装的后收到
因为不能确定谁到底是先收到,谁是后收到,所以,虽然我们可以接受广播,进行一些自己的处理,但是我们不能将处理的结果发给下一个接受者,也不能去终止这个广播。
有序广播:有序广播就是有顺序的广播了,我们可以手动的去设置广播接收者的优先级,控制应用在什么时候去收到广播。
有序的广播由于是有序的,它的机制是先收到广播的对广播进行处理,然后将自己处理过的广播发送给下一位接受者,并且也有权对这个广播接收者进行终止操作,这样下一个接收者就收不到这个广播了,黑名单拦截就是用的这个啦

定义广播组件 —— MyBroadcastDemo
publicclass MyBroadcastDemo extends BroadcastReceiver {// 继承BroadcastReceiver@Overridepublicvoid onReceive(Context context, Intent intent) {// 处理广播事件if ("org.lxh.action.MLDN".equals(intent.getAction())) {// 判断是指定的ActionString msg = intent.getStringExtra("msg") ; // 取得附加信息Toast.makeText(context, msg, Toast.LENGTH_LONG).show(); // 显示信息
通过BroadCast启动Service
在前面的部分已经讲解过通过Activity程序启动Service的操作,实际上Service也可以通过BroadCast启动,如果一个Service要通过Broadcast启动并没有任何特殊的操作,只需要在Broadcast中调用startService()方法即可完成
、

