欢迎来到天天文库
浏览记录
ID:38580552
大小:166.66 KB
页数:13页
时间:2019-06-15
《BroadcastReceiver应用详解和举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、BroadcastReceiver应用详解据说程序员是最爱学习的群体,IT男都知道,这个行业日新月异,必须不断地学习新知识,不断地为自己注入新鲜的血液,才能使自己跟上技术的步伐。今天我们来讲一下Android中BroadcastReceiver的相关知识。BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接
2、收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等。Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,那就是BroadcastReceiver。下面我们就对BroadcastReceiver逐一地分析和演练,了解和掌握它的各种功能和用法。首先,我们来演示一下创建一个Bro
3、adcastReceiver,并让这个BroadcastReceiver能够根据我们的需要来运行。要创建自己的BroadcastReceiver对象,我们需要继承android.content.BroadcastReceiver,并实现其onReceive方法。下面我们就创建一个名为MyReceiver广播接收者:1.package com.scott.receiver; 2. 3.import android.content.BroadcastReceiver; 4.import android.content.
4、Context; 5.import android.content.Intent; 6.import android.util.Log; 7. 8.public class MyReceiver extends BroadcastReceiver { 9. 10. private static final String TAG = "MyReceiver"; 11. 12. @Override 13. public void onReceive(Context cont
5、ext, Intent intent) { 14. String msg = intent.getStringExtra("msg"); 15. Log.i(TAG, msg); 16. } 17. 18.} 在onReceive方法内,我们可以获取随广播而来的Intent中的数据,这非常重要,就像无线电一样,包含很多有用的信息。在创建完我们的BroadcastReceiver之后,还不能够使它进入工作状态,我们需要为它注册一个指定的广播地址。没有注册广播地址的Broadca
6、stReceiver就像一个缺少选台按钮的收音机,虽然功能俱备,但也无法收到电台的信号。下面我们就来介绍一下如何为BroadcastReceiver注册广播地址。静态注册静态注册是在AndroidManifest.xml文件中配置的,我们就来为MyReceiver注册一个广播地址:1. 2. 3. 7、tent.action.MY_BROADCAST"/> 4. 5. 6. 配置了以上信息之后,只要是android.intent.action.MY_BROADCAST这个地址的广播,MyReceiver都能够接收的到。注意,这种方式的注册是常驻型的,也就是说当应用关闭后,
7、tent.action.MY_BROADCAST"/> 4. 5.
8、如果有广播信息传来,MyReceiver也会被系统调用而自动运行。动态注册动态注册需要在代码中动态的指定广播地址并注册,通常我们是在Activity或Service注册一个广播,下面我们就来看一下注册的代码:1.MyReceiver receiver = new MyReceiver(); 2.
此文档下载收益归作者所有