Android移动应用基础教程【广播机制】

举报
振华OPPO 发表于 2022/04/18 19:12:39 2022/04/18
【摘要】 @TOC 一、广播机制的概述通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭是接入到学校广播室的。如果有重要通知,会发送一条广播来告知全校师生。为了便于发送和接收系统级别的消息通知,Android系统也引入了一套类似广播的消息机制。Android中的广播(Broadcast)机制用于进程/线程间通信,该机制使用了观察者模式,观察者模式是一种软件设计模式,该模式是基于消息的发布/订阅事件模...

@TOC

一、广播机制的概述

通常情况下在学校的每个教室都会装有一个喇叭,这些喇叭是接入到学校广播室的。如果有重要通知,会发送一条广播来告知全校师生。为了便于发送和接收系统级别的消息通知,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);

四、本章小结

本章详细地讲解了广播接收者的相关知识,首先介绍了什么是广播接收者,然后讲解了如何自定义广播以及广播的类型。通过本章的学习,要求初学者能够熟练掌握广播接收者的使用,并在实际开发中进行应用。

我不知道离别的滋味是这样凄凉,我不知道说声再见要这么坚强。——《千与千寻》

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。