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);方法得到参数
分享到:
相关推荐
android四大组件之一广播接受者用法介绍,广播接受者的基本用法和使用过程中应该注意的地方
广播接受者注册1
用于博客中的Demo
Register()方法可以注册一个监听wifi状态的广播接受者,需要用户传入一个实现抽象类的对象实现回调方法,包括监听Wifi打开和关闭,是否通过wifi连接到网络,是否连接到网络等;广播接受者接收到相应的wifi以及网络...
android 四大组件之一:广播接受者的简单介绍及使用详解
Android系统中的广播Broadcast,Receiver例子,可以用LogCat察看整个运行的生命周期.MainActivity界面上有两个按钮,分别是Start Counter和Stop Counter按钮,点击前者开始计数,而点击后者则停止计数。
072集-静态和动态注册广播接收者视频教程,讲解的比较详细,可以参考下哦。
@SuppressLint("NewApi") public class MainActivity extends Activity { SmsReceiver myReceiver; Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate...
利用两个广播接受者保证唯一一个实例在运行。
1、broadcastReceiver是广播接受者,四大组件之一。 2、Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息。 3、使用场景: ①当手机没有电时,会告知用户“电量低”的广播信息。...
Register()方法可以注册一个监听wifi状态的广播接受者,需要用户传入一个实现抽象类的对象实现回调方法,包括监听Wifi打开和关闭,是否通过wifi连接到网络,是否连接到网络等;广播接受者接收到相应的wifi以及网络...
利用广播获取手机 实时电量信息
Android中的广播用的太多了,今天稍微总结一下...先看看广播接受者: public class MyBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText
广播,这个诞生于1906年的科技产品,持续...Android通过广播机制,能够让订阅者接受到想听到的广播,并进行进一步的处理和操作。如果你想在虚拟的android世界中创建属于你自己的电台广播,那么就赶紧点击本集视频观看吧
广播接受者MyBroadcastReceiver1.java public class MyBroadcastReceiver1 extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.i(test, 自定义的广播接收者,...
Android有序广播(Ordered Broadcast)的实现:接受者按声明的优先级依次接收广播
包括环境搭建教程、创建模拟器、新建helloworld程序、电话拨号器、软件部署到模拟器、短信发送器、线性布局、相对布局、日志、activity、Android进程线程及优先级、Android UI线程阻塞及优化、广播接受者、Service...
每一部手机都具有短信接收和发送功能,下面我们通过代码来实现接收和发送短信功能。 一、接收短信 1、创建内部广播接收器类,...RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android androi
手机从来没有像今天这样流行,强大的智能手机产品已经为消费者所普遍接受。诸如GPS、加速计和触摸屏等外观时尚且用途广泛的手机功能硬件,正在吸引越来越多的开发者创建各种新颖有趣的移动应用程序。 虽然设计...