Android 广播接收器BroadcastReceiver(一)

来源:互联网 发布:生而有涯而知也无涯 编辑:程序博客网 时间:2024/04/29 00:27

在一小节中学习Android系统广播。
Android的系统广播很多,像开机,网络变化,电池电量低等。广播就好像是其他的程序给你发送了一条消息,你接到这条消息之后,就可以做相应的处理。
接下来一个例子,用来监听手机开机的广播。
1.创建一个类,继承自BroadcastReceiver,来接收手机开机发送的广播。

public class BootCompleteReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub        Toast.makeText(context, "监听手机开机成功", Toast.LENGTH_SHORT).show();    }}

2.注册广播。
注册广播分为静态注册和动态注册。两者的区别在于静态注册是在清单配置文件中注册,动态注册在程序代码中注册。也就是,静态注册不用启动程序也有效,动态注册只能在程序运行的时候才有效。要监听开机广播一定要用到静态注册。静态注册的实现就是在AndroidMainfest.xml文件的application的标签下添加如下代码:

<receiver android:name=".BootCompleteReceiver" >    <intent-filter>        <action android:name="android.intent.action.BOOT_COMPLETED" />    </intent-filter></receiver>

name是刚才编写的监听器的类,行为用系统自带的行为。在监听系统开机广播的时候,需要添加相应的权限。

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

然后直接发布程序到模拟器中,然后重启模拟器。开机就能看见打印的信息了。
项目下载:http://download.csdn.net/detail/u014523456/9556775

0 0
原创粉丝点击