一、广播机制的概述
通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭是接入到学校广播室的。如果有重要通知,会发送一条广播来告知全校师生。为了便于发送和接收系统级别的消息通知,Android系统也引入了一套类似广播的消息机制。
Android中的广播(Broadcast)机制用于进程/线程间通信,该机制使用了观察者模式,观察者模式是一种软件设计模式,该模式是基于消息的发布/订阅事件模型,该模型中的消息发布者是广播机制中的广播发送者,消息订阅者是广播机制中的广播接收者,广播机制的具体实现流程,如下图所示。
二、 广播接收者
1、 什么是广播接收者
2、广播接收者的创建
public class MyReceiver extends BroadcastReceiver { public MyReceiver() { } @Override //在该方法中实现广播接收者的相关操作 public void onReceive (Context context, Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } }
receiver = new MyBroadcastReceiver(); //实例化广播接收者 //实例化过滤器并设置要过滤的广播 String action = "android.provider.Telephony.SMS_RECEIVED"; IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(action); registerReceiver(receiver,intentFilter); //注册广播
三、自定义广播与广播的类型
1、自定义广播
2 、发送求救信号
3 、广播的类型
//动态注册MyReceiver广播 MyReceiver one = new MyReceiver (); IntentFilter filter = new IntentFilter(); //数值越大,优先级越高。如果两个广播接收者的优先级相同,则先注册的广播接收者优先级高。 filter.setPriority(1000); filter.addAction("Intercept_Stitch"); registerReceiver(one,filter);
四、本章小结
本章详细地讲解了广播接收者的相关知识,首先介绍了什么是广播接收者,然后讲解了如何自定义广播以及广播的类型。通过本章的学习,要求初学者能够熟练掌握广播接收者的使用,并在实际开发中进行应用。