Intent对象除了应用于Activity之间的通信外,还可以用于Broadcast,与Activity类似,广播有系统广播,也可以自定义广播,
可以实现很多效果(短信广播,开机广播,电量广播等)
1.接收系统广播
流程:分为两步
(1) 编写一个类继承自 android.content.BroadcastReceiver 并实现onReceive()方法(接收到广播是会调用这个方法)
(2)在AndroidManifest.xml文件中的<application>节点下注册广播接收者(receiver节点):
使用<receiver>标签指定要接收哪一个广播和注册你编写的接收广播的类
eg:接收开机启动广播
编写类
public class MyReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Intent mainIntent = new Intent(context, Main.class);
mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mainIntent);
Log.d("info","第一个运行的应用");
}
}
在AndroidManifest.xml 中注册
<receiver android:name="MyReceiver">
<intent-filter>
<!-- 指定要接收的广播 -->
<action android:name="android.intent.action.BOOT_COMPLETED" />
<!-- 指定接收的Action广播的种类,该种类表示系统启动后第一个运行的应用 -->
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
2.在自己的应用中发送广播
发送广播也要依赖Intent
流程:创建Intent实例,指定发送广播的Action ,通过Activity实例的sendBroadcast();方法发送广播,
只要是在AndroidManifest.xml中注册的广播接收者并且<action>节点的内容与创建Intent时的Action相同就会接收到广播调用onReceive()方法
eg:
Intent inent = new Intent("com.myreceiver");
sendBroadcast(intent);
当然你也可以传参数 与activity传参类似
然后由 onReceive(Context context,Intent intent);方法得到参数
分享到:
相关推荐
这个“广播接受者的小例子”是一个用于教学或展示目的的Demo,适用于那些想要了解或学习如何在Android应用中使用广播接收者的开发者。 在Android应用开发中,广播接收者通常用于处理系统级事件,如设备开机、网络...
android四大组件之一广播接受者用法介绍,广播接受者的基本用法和使用过程中应该注意的地方
广播接收者(BroadcastReceiver)是Android系统中的一个重要组件,它用于接收系统或应用程序发送的广播意图(Intent)。在Android中,广播是一种全局的通知机制,可以让一个应用组件向其他组件或者整个系统发布消息...
"广播接受者demo"是一个用于教学目的的应用程序示例,它展示了如何创建和使用广播接收者。 广播接收者的基本概念: 1. **注册**:广播接收者有两种注册方式:静态注册和动态注册。静态注册在AndroidManifest.xml...
有序广播(Ordered Broadcast)是Android广播机制的一种类型,它确保了广播接收者按照特定的顺序接收和处理广播意图(Intent)。在这个实验中,我们将深入探讨有序广播的工作原理、应用场景以及如何实现。 有序广播...
广播接收者(Broadcast Receiver)是Android系统中的一个重要组件,它允许应用程序在后台接收并响应系统或应用程序广播事件。广播事件可以是系统级别的,如设备启动、网络状态改变,也可以是应用自定义的,用于在...
广播接收者是Android系统中的一种重要组件,它允许应用程序在后台接收并响应系统或其它应用发出的广播消息。本篇文章将深入探讨广播接收者的基本概念、注册方式、以及三种不同类型的广播:普通广播、有序广播和本地...
广播接收者(Broadcast Receiver)是Android系统中四大组件之一,它负责监听并响应系统或应用程序发出的各种广播事件。在Android应用开发中,Broadcast Receiver扮演着重要角色,允许开发者在不同组件间传递信息,...
在Android开发中,广播接收者(Broadcast Receiver)是一种重要的组件,它允许应用程序监听并响应系统或自定义广播事件。本视频教程“072集-静态和动态注册广播接收者”深入探讨了这两种不同的注册方式及其应用场景...
有序广播的特殊之处在于,当广播发送出去后,系统会按照接收者在清单文件中声明的`android:priority`属性值(范围是-2147483648到2147483647,数值越大优先级越高)依次进行传递。每个接收者有足够的时间处理广播,...
而"电台发送自定义的广播"和"自定义广播接受者"这两个文件很显然与我们的主题直接相关,它们可能是示例代码,用于演示如何创建和接收自定义广播。 通过分析和实践这些示例代码,开发者可以更深入地理解Android...
广播接收者(BroadcastReceiver)分为广播发送者(发送广播的组件)和广播接受者(接收广播的组件)。广播机制是基于观察者模式,这种模式实现了发布/订阅事件模型,从而实现了广播发送者和接收者之间的解耦,有利于...
@SuppressLint("NewApi") public class MainActivity extends Activity { SmsReceiver myReceiver; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...
在Android开发中,广播(Broadcast)是一种非常重要的组件,它允许应用程序之间进行异步通信,即使它们在后台运行。`adb`(Android Debug Bridge)是Android开发者常用的工具,用于调试和控制连接到计算机的Android...
7. **有序广播与无序广播**: 有序广播(Ordered Broadcast)按照接收者注册的顺序依次执行`onReceive()`方法,可以拦截并修改广播数据。无序广播(Broadcast)则是并行执行,无法拦截和修改广播数据。 通过...
Register()方法可以注册一个监听wifi状态的广播接受者,需要用户传入一个实现抽象类的对象实现回调方法,包括监听Wifi打开和关闭,是否通过wifi连接到网络,是否连接到网络等;广播接受者接收到相应的wifi以及网络...
Android系统中的广播Broadcast,Receiver例子,可以用LogCat察看整个运行的生命周期.MainActivity界面上有两个按钮,分别是Start Counter和Stop Counter按钮,点击前者开始计数,而点击后者则停止计数。
每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能。 一、接收短信 1、创建内部广播接收器类,...RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android androi
在Android系统中,开发者可以通过BroadcastReceiver来监听和响应系统广播事件,其中包括获取手机的实时电量信息。BroadcastReceiver是Android四大组件之一,它允许应用程序在不运行的情况下接收和处理系统或应用广播...