【Android基础】(3)四大核心组件之BroadcastReceiver

来源:互联网 发布:家具销售软件哪种好 编辑:程序博客网 时间:2024/06/06 05:57

文章地址:http://blog.csdn.net/scarthr/article/details/41950153

今天我们来学习Android第三个核心组件——Broadcast Receiver。


一 BroadcastReceiver概述

我们使用BroadcastReceiver可以监听许多系统广播,如:电量不足、开机启动、接收短信等。也可以用它来再应用内部进行数据传递,还可以在应用之间进行广播传递数据。BroadcastReceiver的效率是比较低的,所以我们如果需要传递特别大的数据或者要频繁使用它,是不建议的。


二 BroadcastReceiver创建

创建一个接收器需要继承BroadcastReceiver类:
class MyReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {// 这里写我们接受到广播后要处理的事情}}
然后需要在AndroidManifest中注册BroadcastReceiver,最后在Activity中调用
Intent intent = new Intent(this, MyReceiver.class);sendBroadcast(intent);
就可以发送一条广播,发送后会触发上面的onReceive方法,参数中的intent还可以包含参数传递。


三 BroadcastReceiver两种注册方式

1. 直接在AndroidManifest注册
如上面所讲。
2. Java代码注册
在Activity中使用
MyReceiver receiver = new MyReceiver();registerReceiver(receiver, new IntentFilter("com.thr.myreceiver"));
来注册接收器,其中IntentFilter是用来指定一个地址,用来使相对应的广播接收器接受使用的。
然后调用
Intent intent = new Intent("com.thr.myreceiver");sendBroadcast(intent);
<span style="font-family:Microsoft YaHei;">即可发送广播。
要解除注册广播,使用
unregisterReceiver(receiver);
即可。



0 0
原创粉丝点击