《Android应用开发基础Android应用开发基础 (15).pdf》由会员分享,可在线阅读,更多相关《Android应用开发基础Android应用开发基础 (15).pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 5.3 自定义广播 本章内容本章内容 第第1节节 Android广播概述广播概述 第第2节节 Android广播工作原理广播工作原理 第第3节节 自定义广播自定义广播 第第4节节 Android有序广播有序广播 本章目标本章目标 理解理解Android广播的作用与分类。广播的作用与分类。能熟练开发广播接收器。能熟练开发广播接收器。理解理解Android广播的发送、接收器的注册原理。广播的发送、接收器的注册原理。理解有序广播的运用场合。理解有序广播的运用场合。理解有序广播与普通广播的区别。理解有序广播与普通广播的区别。5.3 自定义广播自定义广播 知识点预览知识点预览#知识点知识点 重点重点
2、难点难点 应用应用 说明说明 1 实现自定义广播发送 讲解如何发送自定义广播。2 自定义广播接收 通过案例讲解如何接收自定义广播。3 跨程序的广播接收 通过案例讲解如何接收跨程序广播。5.3 自定义广播自定义广播 1 自定义广播实例自定义广播实例 2 自定义广播:自定义广播:Android系统发送的广播被称为Android系统广播。Android应用程序发送的广播被称为自定义广播。发送自定义广播使用以下方法:5.3 5.3 自定义广播自定义广播 方法结构:方法结构:public void sendBroadcast(Intent intent,String receiverPermission
3、)public void sendBroadcast(Intent intent)使用举例:使用举例:context.sendBroadcast(intent);sendBroadcast方法的参数含义是:第一个参数为广播意图。意图中包含了广播接收Action(频道)。意图中包含了广播数据。第二个参数是本广播的访问权限。3 自定义广播实例自定义广播实例 (1)创建广播接收器接收广播。实现广播发送实现广播发送 public class public class MyReceiver extends extends BroadcastReceiver /定义广播名称 public static p
4、ublic static String BROADCAST_TYPE1=cn.edu.sziit.broadcast.MY_BRODCASTcn.edu.sziit.broadcast.MY_BRODCAST;Override public void public void onReceive(Context context,Intent intent)Toast.makeText(context,Receiver in Receiver in MyReceiverMyReceiver“,Toast.LENGTH_SHORTLENGTH_SHORT).show();/收到广播消息后提示 3 自
5、定义广播实例自定义广播实例(2)Activity动态注册接收器并接收广播。实现广播发送实现广播发送 private private MyReceiver myReceivermyReceiver;/定义广播接收器 private void private void initData()myReceiver myReceiver=new new MyReceiver();/初始化广播接收器对象 IntentFilter filter=new new IntentFilter(MyReceiver.BROADCAST_TYPE1);/新建自定义广播过滤器 supersuper.registerRe
6、ceiver(myReceivermyReceiver,filter);/设置广播接收器接收自定义广播 (3)在Activity中创建按钮,点击后发送广播。private void private void sendBroadcast()Intent intent=new new Intent(MyReceiver.BROADCAST_TYPE1);/创建广播意图 sendBroadcast(intent);/发送广播 4 跨应用程序接收自定义广播:跨应用程序接收自定义广播:(1)创建广播接收器接收广播。另一个程序实现广播接收另一个程序实现广播接收 AnotherBroadCastReceiv
7、er mAnotherBroadCastReceiver mAnotherBroadCastReceiver;/定义广播接收器 private void private void initData()mAnotherBroadCastReceiver mAnotherBroadCastReceiver=new new AnotherBroadCastReceiver();/初始化广播接收器对象 /新建自定义广播过滤器 IntentFilter filter=new new IntentFilter(AnotherBroadCastReceiver.BROADCAST_TYPE1);supers
8、uper.registerReceiver(mAnotherBroadCastReceivermAnotherBroadCastReceiver,filter);/设置广播接收器接收自定义广播 (2)Activity动态注册接收器并接收广播 public class public class AnotherBroadCastReceiver extends extends BroadcastReceiver public static public static String BROADCAST_TYPE1=cn.edu.sziit.broadcast.MY_BRODCASTcn.edu.sziit.broadcast.MY_BRODCAST;/首先定义广播名称 public void public void onReceive(Context context,Intent intent)Toast.makeText(context,getClass().toString(),Toast.LENGTH_SHORTLENGTH_SHORT).show();/收到广播消息后提示 第10页/共15页 课堂作业:请完成自定义广播的实例,点击发送按钮,两个程序都可以收到广播消息,截图打码提交 作答 正常使用主观题需2.0以上版本雨课堂 主观题 25分