广播被分为两种不同的类型:“普通广播(Normal broadcasts)”和“有序广播(Ordered broadcasts)”。
普通广播是完全异步的,所有接收者(逻辑上)都在同一时刻运行,对消息传递的效率而言这是很好的做法,但缺点是:接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播;
有序广播是逐个执行接收者——系统会按照接收者声明的优先级别(声明在intent-filter元素的android:priority属性中,数越大优先级别越高,取值范围:-1000到1000。也可以调用IntentFilter对象的setPriority()进行设置),按顺序逐次执行。
如何发送广播:
*第一步:
// 广播意图,该广播只能被定义了该意图的广播接收者才能接收
//意图还能加入需要被广播接收者处理的数据
Intent intent=new Intent();
// 广播的唯一识别码,类似于广播电台的频率,接收者需要在意图过滤器中指定
intent.setAction("con.cgc.aaa");
intent.putExtra("msg", str);
//发送一个普通广播
this.sendBroadcast(intent);
如何接收广播
*第二步
1:写一个类必须继承BroadcaseBeceiver,并重写onReceiver()方法。
public class MyBroadCast extends BroadcastReceiver{
//当受到广播之后自动调用
@Override
public void onReceive(Context context, Intent intent) {
String str=intent.getStringExtra("msg");
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
如何如何定义广播(两种方法)
*第三步
第一种:在AndroidManifest.xml文件中的<application>节点里进行订阅。
<receiver android:name=".MyBroadCast">
<intent-filter>
//这个就是广播的唯一识别码要想订阅这个广播就把action的name设置成一直就是
<action android:name="con.cgc.aaa" >
</action>
</intent-filter>
</receiver>
第二种:使用代码进行订阅。
//定义意图过滤器
intentFilter filter=new IntentFilter();
//添加过滤器的动作
filter.action("com.chc.aaa");
//创建广播接收者对象
MyBroadCastReceiver receiver = new MyBroadCastReceiver();
//注册接收者
registerReceiver(receiver, filter);
相关推荐
Android自学笔记-17-广播接收者(BroadcastReceiver)
NULL 博文链接:https://jiangnanlove.iteye.com/blog/1333335
Android移动开发检测网络状态并使用BroadcastReceiver(广播接收者)进行接收网络变化的后续处理
这是一个关于Android中四大组件之一 —— BroadcastReceiver,即广播的一个demo,里面涉及到BroadcastReceiver的两种注册方式,也简单的实现了广播,通过点击按钮发送广播,收到广播后打印日志。
广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context,Intent intent),其中intent可以获得传递的数据; 广播意图就是通过Context....
本文实例讲述了Android编程四大组件之BroadcastReceiver(广播接收者)用法。分享给大家供大家参考,具体如下: 这里介绍如何创建广播、如何发送一个无序广播和有序广播、以及监听短信以及监听呼出电话(当我们发短信和...
BroadcastReceiver应用详解 BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。
Android有序广播(Ordered Broadcast)的实现:接受者按声明的优先级依次接收广播
广播接收器 静态广播接收器和动态广播接收器的实现。 创建者:Pablo Bascuñana Saiz。
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动...
用于异步接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、广播接收者(BroadcastReceiver)用于异步接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context....
广播接受者(Broadcast Receiver)的简介与使用
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动...
BroadcastReceiver也就是“广播接收者”的意思,它是用来接收来自系统和应用中的广播。 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行...
一个简单的广播接收者实例。用于初学者学习如何使用
有序广播的拦截、有序广播的篡改、管理呼出电话的例子。原博客地址:https://blog.csdn.net/u010356768/article/details/79908724、https://blog.csdn.net/u010356768/article/details/79913165、 ...
BroadcastReceiver收到短信播放音乐见前一篇博客: 链接: https://blog.csdn.net/qq_44841678/article/details/105460657. 要求: 实现上一首、播放/暂停、停止、下一首的功能,同时显示播放歌曲的简单信息。 实现...
1、broadcastReceiver是广播接受者,四大组件之一。 2、Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息。 3、使用场景: ①当手机没有电时,会告知用户“电量低”的广播信息。...
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务...