一,发送广播

利用Intent来发送广播。

使用:在需要发送广播的地方创建一个Intent对象,将信息的内容和用于过滤的信息封装起来,通过以下三种方法将Intent广播出去:

1,Context.sendBroadcast

2,Context.sendOrderedBroadCast

3,Context.sendStickyBroadcast

三种方法的区别:

1,sendBroadcast和sendStickyBroadcast发送出去的Intent,对于所有满足条件的BroadcastReceiver都会执行其onReceive方法。但若有多个满足条件的BroadcastReceiver,其执行onReceive方法的顺序是没有保证的。

2,通过sendOrderedBroadCast方法发送出去的Intent,会根据BroadcastReceiver注册时IntentFilter设置的优先级的顺序来执行onReceive方法,相同优先级的BroadcastReceiver执行onReceive方法的顺序是没有保证的。

其中,sendStickyBroadcast主要的不同时,Intent在发送后会一直存在,并且在以后调用registerReceiver注册相匹配的Receiver时会把这个Intent对象直接返回给新注册的Receiver

通常我们在发送广播时候,使用的是sendBroadcast,但需要注意的是,在构造Intent时,必须用一个全局唯一的字符串标示其要执行的动作,通常使用应用程序的包名称,也可以采用自己定义的动作。如果要在Intent中传递其他数据,可以用Intent的putExtra方法。

String Intent_Activity="lhc";

Intent intent=newIntent(Intent_Activity);

Intent.putExtra("参数",“参数值”);

sendBroadcast(intent);

二,接收广播

在于Activity相同的包下面定义广播器。广播器类要继承BroadcastReceiver类。

但是在接收到广播之后,要想处理相关事件,我们必须覆盖其OnReceiver方法,在该方法中实现对广播事件的相关处理,当安卓系统接收到与之匹配的广播消息时,会自动启动此BroadcastReceiver开始接受广播。

注意的是:OnReceive方法必须在5秒钟内执行完成,否则安卓系统会认为该组建失去响应,并提示用户强行关闭该组件。因此对于比较耗时的操作,要单独开一个线程。

三,声明广播

两种广播的注册方式:

1,代码注册广播

2,在AndroidMainfest.xml中注册

两种注册类型的区别:

1,第一种不是常驻型广播,也就是广播跟随程序的生命周期;

2,第二种是常驻类型的广播,也就是说当应用程序关闭后,如果有信息广播过来,程序广播接收器也会被系统调用自动运行。

四,示例

1,发送广播

public class BroadCastActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button button=(Button)super.findViewById(R.id.button);button.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View arg0) {String Intent_Action="com.example.broadcastdemp";Intent intent=new Intent(Intent_Action); //sendBroadcast(intent);//发送广播,并传递intentLog.e("BroadcastReceiver","sendbroadcast");}});}

   2,接收广播

public class BroadcastReceiverActivity extends BroadcastReceiver{@Overridepublic void onReceive(Context arg0, Intent arg1) {String Intent_Action=arg1.getAction();if("com.example.broadcastdemp".equals(Intent_Action)){Log.e("BroadcastReceiver","onReceive");}}
}

      4,使用XML配置接收广播的类

  <receiver android:name=".BroadcastReceiverActivity"><intent-filter><action android:name="com.example.broadcastdemp"/></intent-filter></receiver>

run 下看看:

Android——发送和接收广播相关推荐

  1. [2021.11.6]使用BroadcastReceiver发送和接收广播

    1 BroadcastReceiver简介 BroadcastReceiver类是所有广播接收器的抽象基类,子类对接收的广播进行筛选并做出响应.广播接收器的生命周期短,当广播消息到达时,调用onRec ...

  2. Android安全问题 抢先接收广播 - 内因篇之广播接收器注册流程

    导读:本文说明系统是如何注册动态广播以及静态广播,这里主要注意其注册的顺序 这篇文章主要是针对我前两篇文章 android安全问题  抢先开机启动 - 结果篇 android安全问题  抢先拦截短信 ...

  3. Linux系统下UDP发送和接收广播消息小例子

    分类: 网络通信 2013-01-07 10:54 1336人阅读 评论(6) 收藏 举报 [cpp] view plaincopyprint? // 发送端 #include <iostrea ...

  4. android 发送短信 广播 demo,向Android模拟器打电话发短信的简单方法

    在开发android应用程序时,有时候需要测试一下向android手机拨打电话发送短信时该应用程序的反应.譬如编写一个广播接收器,来提示用户有短信收到或者处理短信,就需要向该手机发送短信来进行测试.这 ...

  5. Linux系统下UDP发送和接收广播消息小样例

    [cpp] view plaincopy // 发送端 #include <iostream> #include <stdio.h> #include <sys/sock ...

  6. Android系统中发送和注册广播的方式以及优缺点

    在Android系统中,有两种主要的方式可以发送和注册广播:标准广播(Normal Broadcast)和有序广播(Ordered Broadcast),它们各自有不同的优缺点. 1. 标准广播(No ...

  7. Android组件系列----BroadcastReceiver广播接收器

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  8. Android四大组件:广播机制——BroadcastReceiver

    Android广播机制 1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为 ...

  9. Android深入四大组件(八)广播的注册、发送和接收过程

    前言 我们接着来学习Android四大组件中的BroadcastReceiver,广播主要就是分为注册.接收和发送过程.建议阅读此文前请先阅读Android深入理解四大组件系列的文章,知识重复的部分, ...

最新文章

  1. PCT-36.523
  2. luogu cover
  3. Oracle 同义词的创建及其作用
  4. Winform开发框架之插件化应用框架实现
  5. 内向者优势 原版_未来内向的人具有越来越高的竞争力——心理学:学会运用性格优势...
  6. 12本接收率高的医学SCI期刊
  7. 龙芯.NET正式发布 稳步推进生态建设
  8. html 字幕飘动效果,html 滚动字幕 制作滚动字幕效果 参数
  9. 设计模式系列 - 原型模式
  10. c++代码整洁之道pdf_别再问如何用python提取PDF内容了
  11. electron 打包把node代理服务打包进去_专题:让C++给node做技术加持(三)编译electron本地模块踩坑记
  12. Android音频实时传输与播放(四):源码下载(问题更新)【转】
  13. 走出迷宫(信息学奥赛一本通-T1254)
  14. 顺丰同城通过港交所聆讯 今年前五个月收入为30.46亿元
  15. web.xml filter 不包含_PHP文件包含
  16. 外贸网站需要ERP系统吗?
  17. ProGuard正确下载网址
  18. 软件安装出现【安装程序集组件时出错】时处理方案
  19. ORACLE SQL优化大全
  20. 中国移动彩信业务割接

热门文章

  1. php 调用java webservice
  2. [摘录]软件版本GA,RC,alpha,beta,Build 含义
  3. 十招搞定SQL2K安全
  4. 车用计算机内部结构图,ecu的基本组成结构 ECU的工作过程
  5. war包部署-排除内嵌的tomcat
  6. Spring 的核心API
  7. leader选举的源码分析-Messenger
  8. 接口调试利器Postman
  9. 收货地址 - 需求分析与表设计
  10. Collection集合常用功能