Android四大组件之~~BroadcastReceiver

基于LabVIEW控制仪器检测与监控 --普源示波器DS1102Z-E LabVIEW 控制普源示波器 代码实现与解释 阅读详情

声明:转载请注明出处:http://blog.youkuaiyun.com/Hello_Chillax/article/details/45672601

开题:对android稍微有些了解的朋友都知道,android中有四大组件,分别是:Activity,Service,ContentProvider,BroadcastReceiver。今天来介绍其一:BroadcastReceiver。

BroadcastReceiver:顾名思义,广播接收者,可以接收系统,其他应用等等发送的广播进而做出相应的反应。比如手机电池没电时,用户会受到提示,这就是其应用之一。BroadcastReceiver可以应用于不同程序之间,也可以应用于同一个程序之中,二者基本类似。今天的这个例子是在同一个应用中的。

我们通过一个Demo来讲解BroadcastReceiver的完整使用流程。

一 . 发送无序广播。

1.1 首先我们定义一个接受者:

public class MyReseiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println("收到了来自MytReseiver的消息!!");
    }
}

1.2 然后在清单文件中声明它:

<receiver 
            android:name="com.example.broadcastreseiver.MyReseiver"
            android:exported="false">
            <intent-filter >
                <action android:name="com.example.broadcastreseiver.MyReseiver"/>
            </intent-filter>
        </receiver>

1.3 然后在MainActivity中发送一个广播:

public void send1(View view){
        Intent i=new Intent();
        i.setAction("com.example.broadcastreseiver.MyReseiver");
        sendBroadcast(i);
    }

这样,就实现了一个无序广播,当send1()函数被执行时,发送一个消息,这个消息被发送到能接受action为“com.example.broadcastreseiver.MyReseiver”的Receiver。就打印了一句话:这里写图片描述

二 . 发送有序广播。

有序广播,顾名思义,就是当一个消息被发送后,其多个接收者按照一定的优先级来接受广播。我们这里模仿大学里发放贫困补助款为例(纯属虚构),来解释这一优先级的效果:

2.1 首先,我们定义多个接收者:

public class Reseiver1 extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println("我是省级干部,我收到的消息是:"+getResultData());
        setResultData("给贫困生发10万补助款!");
    }

}
public class Reseiver2 extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println("我是市级干部,我收到的消息是:"+getResultData());
        setResultData("给贫困生发5万补助款!");
    }

}
public class Reseiver3 extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println("我是学校领导,我收到的消息是:"+getResultData());
        setResultData("给贫困生发一件羽绒袄!");
    }

}
public class Reseiver4 extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println("我是贫困学生,我收到的消息是:"+getResultData());
    }

}

2.2 在清单文件中声明它们:

<receiver 
            android:name="com.example.broadcastreseiver.Reseiver1"
            android:exported="false">
            <intent-filter 
                android:priority="1000">
                <action android:name="com.example.broadcastreseiver.Reseiver"/>
            </intent-filter>
        </receiver>
        <receiver 
            android:name="com.example.broadcastreseiver.Reseiver2"
            android:exported="false">
            <intent-filter 
                android:priority="500">
                <action android:name="com.example.broadcastreseiver.Reseiver"/>
            </intent-filter>
        </receiver>
        <receiver 
            android:name="com.example.broadcastreseiver.Reseiver3"
            android:exported="false">
            <intent-filter 
                android:priority="100">
                <action android:name="com.example.broadcastreseiver.Reseiver"/>
            </intent-filter>
        </receiver>
        <receiver 
            android:name="com.example.broadcastreseiver.Reseiver4"
            android:exported="false">
            <intent-filter 
                android:priority="0">
                <action android:name="com.example.broadcastreseiver.Reseiver"/>
            </intent-filter>
        </receiver>

2.3 在MainActivity中发送一个有序广播:

public void send2(View view){
        Intent i=new Intent();
        i.setAction("com.example.broadcastreseiver.Reseiver");
        /**
         * 参数解释:
         * intent:上面定义的intent,没啥好说的;
         * receiverPermission:对接受者所设定的权限,即接受者必须满足的条件;
         * resultReceiver:设定一个必须收到消息的对象,谁也无法拦截;
         * scheduler:一个callback函数,用来接收resultReceiver的回调消息;
         * initialCode:初始码;
         * initialData:初始数据;
         * initialExtras:初始的额外消息;
         */
        sendOrderedBroadcast(i, null, null, null, 0, "给贫困生发20万补助款!", null);
    }

当send2()函数被调用时,控制台打印结果为:

这里写图片描述

到这里就基本结束了,有问题请留言~

CANbus收发器TJA1051T/3/1J应用原理图设计 该收发器是为汽车工业中的高速CAN应用而设计的,为(一个带有)CAN协议控制器的微控制器)提供差分传输和接收能力。它提供了改进的电磁兼容性(EMC)和静电放电(ESD)性能,还具有:当电源电压关闭时,TJA1051T/3和TJA1051TK/3可以直接与电源电压从3V到5V的微控制器接口。这种实现能够在CAN FD快速阶段以高达5 Mbit/s的数据速率进行可靠的通信。TJA1051T/3和TJA1051TK/3上的VIO输入允许直接连接3 V至5 V微控制器(分别提供SO8和极小的HVSON8封装) 阅读详情

相关推荐

从零到一:RJ71EN71 ModbusTCP配置的避坑指南与实战技巧

本文详细解析三菱RJ71EN71模块的ModbusTCP配置全流程,涵盖GX Works3参数设置、地址映射、通信调试等核心环节。针对工业环境中常见的IP冲突、软元件分配错误、通信超时等高频问题提供实战解决方案,帮助工程师快速构建高可靠性通信网络,避免项目延期风险。

zzz56的博客 331

android四大组件之BroadcastReceiver

今天回头看了自己之前学习的笔记,小结了一下BroadcastReceiver,供刚入门的朋友复习和参考。 BroadcastReceiver是android系统一个全局的监听器,可实现不同组件之间的通信。 创建自己的广播类 package com.example.yummyhttputil; import android.content.BroadcastReceiver;

「Android之禅」公众号博主,和你分享有价值有思考的技术文章 2749

SUMO从入门到精通:手把手教你用开源工具完成智能网联车仿真(附Python接口教程)

本文提供了一份SUMO开源交通仿真工具的完整实战指南,从环境搭建、基础仿真到Python接口TraCI的深度应用。重点讲解了如何利用SUMO的高度可定制性进行智能网联车仿真,包括实现动态信号优先等核心算法,并介绍了与网络仿真器集成以构建高保真车联网通信环境的方法。

weixin_28327051的博客 538

Android中Broadcast Receiver组件详解

BroadcastReceiver(广播接收器)是Android中的四大组件之一。   下面是Android Doc中关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件。很多广播是源自于系统代码的──比如,通知时区

zuolongsnail的专栏 9万+

硬核拆解华为/大疆/小米硬件面试真题:手撕电路+考点思维导图(附答案)

设计一个增益为20dB、带宽≥100kHz的同相放大器,电源电压±5V,要求输出摆幅≥8V。12位ADC的参考电压2.5V,输入信号1kHz正弦波,峰峰值2V。输入24V转5V/10A的同步降压电路,开关频率500kHz,计算MOSFET的损耗并选择型号(需提供TI官网截图)。设计无人机图传系统,要求1080P@30fps,传输距离2km。FPGA设计中,100MHz时钟域到50MHz时钟域传输32位数据,给出同步方案并画时序图。“设计一个输入12V、输出5V/3A的同步降压电路,给出关键参数计算”

qq_63103361的博客 3536

关于AndroidBroadcastReceiver的注册方式

本篇文章简单介绍一下android 广播的注册方式,也是自己做一下笔记,以后对广播的理解更加深入后,再详谈,哈哈,,广播的注册方式1. 静态方式注册: 要创建一个类继承BroadcastReceiver(广播接收者);public class CustomBroadcastReaceiver extends BroadcastReceiver { @Ove

582

YOLOv11 改进 - 注意力机制 | 空间增强注意力SEAM(Spatially Enhanced Attention Module)提升遮挡场景检测鲁棒性

本文介绍了分离与增强注意力模块(SEAM)在YOLOv11中的结合应用。SEAM模块旨在增强面部特征学习能力,特别是处理面部遮挡问题。它采用多头注意力机制强调面部区域、抑制背景区域,第一部分使用深度可分离卷积减少参数并学习通道重要性,通过1x1卷积增强通道联系,利用两层全连接网络融合通道信息,经指数归一化后作为注意力权重与原始特征相乘。我们将SEAM集成到YOLOv11的检测头中,并进行相关注册和配置。实验表明,该方法有助于提升模型检测性能。

魔改工程师的博客 1665

BroadcastReceiver中的Context

原文 What is the Context passed into onReceive() of a BroadcastReceiver? 按注册方式分: 静态注册 android.app.ReceiverRestrictedContext 动态注册 在哪里动态注册Context就是哪个Activity

有速度的空气的博客 2553

Claude Code 官方文档+3 个高活跃社区+5 个可复用开源项目:14.4 节持续学习资源实测清单

揭示 Claude Code 的核心交互范式是「状态机驱动的对话式编程」,强调官方文档实为配置契约、社区是直觉验证场、开源项目是配置能力校准器;通过真实故障案例解析上下文丢失根源,提出以工程化方式管理 claude.config.json、CLAUDE.md 和技能配置。

weixin_28728443的博客 326

IEC 104电力规约详细解读(五) - 遥控

主站下发遥控选择命令,子站进行遥控选择返校,若成功则回答遥控选择成功报文,若失败则回答失败报文。主站下发取消遥控命令或者遥控执行命令行。子站皆以报文的镜像确认。遥控命令用来实现对一个可操作设备状态的改变。在配电自动化中,包括单点命令和双点命令。通常,单点命令用于控制单点信息对象;双点命令用于控制双点信息对象。

张二狗的博客 7352

Android四大组件-BroadcastReceiver

广播:BoradcastReceiver1 、BoradcastReceiver的作用? 数据传输与共享,比如系统自带广播,开机广播,电量广播,短信,电话广播等。 起到通知的作用,比如在收到广播后,开启Service,启动Activity,或者进入网络查询或者更新Ui界面; 在android中比较常用的情景是Activity与startService()方法的启动通过BroadcastRec

androidxiaogang的博客 1044

芒果YOLO11改进21:检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

包括YOLOv5、YOLOv7、YOLOv8等模型改进 792

四大组件之Brodcast Receiver

android广播大全加上运用方法

狂草. 2726

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

谈Android四大组件之BroardcastReceiver篇

广播是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的广播进行过滤接收并响应的一类组件。你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。

青春的光与影 1962

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

切换Activity时的动画overridePendingTransition(A,B)解析

声明:转载请注明出处:http://blog.youkuaiyun.com/hello_chillax目的: Android中不同Activity之间的切换是不可避免的事情,那么怎么才能让Acitivity的切换更优雅呢,Android中提供了一个方法来解决这个问题,即overridePendingTransition(A,B)函数。效果: 用一张图来表示该函数能实现的效果、 效果一:新的Activity从左

企鹅肖 9933

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android Apk 代码混淆与资源文件混淆实战

Android项目在完工发布时,需要对代码和资源文件进行混淆,目的有两个:1⃣️减小压缩包的体积 2⃣️防止代码被反编译后恶意利用Android Apk混淆分两步走: 1⃣️混淆代码 2⃣️混淆资源文件本人的开发环境为: Operation System:Mac OS 10.10.5 Android Studio:2.0 Preview 5 Gradle Plugin:2.0.

企鹅肖 8584

Git--团队开发必备神器

花了两天时间专门搞了一下git,整理一下分享给大家。下面我们开始。。。 转载请注明出处: http://blog.youkuaiyun.com/Hello_Chillax/article/details/47405887 更多精彩请访问:http://blog.youkuaiyun.com/hello_chillax,谢谢 一.学习使用git之前的准备(Windows环境下)。 在本地装一个git,并装上GitBash。(

企鹅肖 5292

正则表达式~~检索匹配的利器

今天来介绍一下正则表达式,以及其在Android中 扮演的重要角色一.揭开正则表达式的神秘面纱 正则表达式的特点 表现形式比较高冷: 随便来一串: ^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)

企鹅肖 3261

ViewPager+下拉刷新ListView超强组合(实现360手机助手首页的效果)

想必大家都用过360手机助手,效果是不是很绚丽,其实很好实现喽。今天就来说一说怎么去实现喽~(PS:咱们是讲原理和思路,我这里是用的不是360助手的界面,懒得去扒那些图片喽,太懒,见谅~~)首先,上图: 先看一下工程目录结构: 其中有两个包,第一个里面分别是: Data:工程里面的数据,本来想用几个textview填充ListView的,最后感觉这样会效果好一点,米啥用~ MainActiv

企鹅肖 2840

总体把握Android中的触摸事件处理

先看几个函数:提到Android的触摸事件处理,不少人都会立刻想到某些令人头疼的函数,这里列举一下,刺激一下你的小神经: @Override public boolean onTouchEvent(MotionEvent event) { return super.onTouchEvent(event); } @Override public b

企鹅肖 1603

Android四大组件之~~ContentProvider

声明:转载请注明出处:http://blog.youkuaiyun.com/hello_chillax开题:对android稍微有些了解的朋友都知道,android中有四大组件,分别是:Activity,Service,ContentProvider,BrocastReserver。今天来介绍其一:ContentProvider。ContentProvider: 顾名思义,内容提供者。实现了不同程序之间数据的

企鹅肖 1467

注解机制 androidannotations 让编程更随性,更轻松(一)

Google开源框架androidannotations深入学习2.annotations的配置 对着项目名称点击右键,找到倒数第二项,Properties,点击进去, 会看到上图,点击标号1的位置,在右侧把标号3的位置勾上,把4的位置选择成1.6以上(包括1.6)。。然后点击上图标号2,得到下图的样子。 上面三个打上红色箭头的全部选中,然后在最后一行apply一下,再选择Factory Pa

企鹅肖 1344

帅气的属性动画赏析(Property Animation)

权利声明:转载请注明出处http://blog.youkuaiyun.com/hello_chillax今天我们来学习Android中的一个比较好玩的动画效果:Property Animation、でわ、はじめましょう。一,初めに:动画的分类 Android动画分类:View Animation,Drawable Animation,Property Animation。各自能实现的效果:View Anima

企鹅肖 1282

JNI开发最佳实践

今天逛论坛时意外发现一个很给力的小视频,嘿嘿嘿。传送门 。这是一个美国的哥们录制的一个JNI开发入门的小案例。看了一遍,还不错,把整个流程记录一下。然后补充一些知识。恩。Let’s begin. 转载请注明出处: 优快云:天道酬勤 本文地址: 软件开发,环境很重要,说一下我的编程环境: Operation System:Mac OS 10.10.4 JDK:jdk1.8

企鹅肖 1241

Android四大组件之~~Service

声明:转载请注明出处:http://blog.youkuaiyun.com/hello_chillax开题:对android稍微有些了解的朋友都知道,android中有四大组件,分别是:Activity,Service,ContentProvider,BroadcastReceiver。今天来介绍其一:Service。一.Service和Thread有什么区别和联系,以及使用Service的必要性。Servic

企鹅肖 1235
上一篇: Android四大组件之~~ContentProvider
下一篇: 切换Activity时的动画overridePendingTransition(A,B)解析
肖小的人儿
博客等级 码龄12年 29粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值