首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

BroadcastReceiver要领

2013-11-09 
BroadcastReceiver要点BroadcastReceiver作用:接收传来的特定类型的intent,然后执行相应操作使用方法:1.新

BroadcastReceiver要点

BroadcastReceiver

作用:接收传来的特定类型的intent,然后执行相应操作

使用方法:

1.新建一个类MyBroadcastReceiver,extends BroadcastReceiver

2.override 其中的onReceiver(...)方法,一旦激活一个 MyBroadcastReceiver 对象,该对象马上调用该方法,该方法结束时,该MyBroadcastReceiver对象被清理。

3.(1)在AndroidManifest.xml中注册,在application中添加一个<Receiver android:name="MyBroadcastReceiver"></Receiver>标签

? 该标签内含有<intent-filter>,此标签用于过滤得到该MyBroadcastReceiver想要处理的intent对象

? 过滤可以基于intent的action/data/catagory三个标准,即在<intent-filter>插入<action>或者<data>或者<catagory>,和这三个表情的android:name相同的intent会得到MyBroadcastReceiver的处理

? (2)在代码中注册,代码如下

? MyBroadcastReceiver receiver = new MyBroadcastReceiver();

? IntentFilter filter = new IntentFilter();

? filter.addAction(Intent.ACTION_EDIT);

? MainActivity.this.registerReceiver(receiver, filter);

? PS:intent被发送后,会被插入到某个不可知的队列当中,一个BroadcastReceiver被程序注册激活以后,会从队列中并行取出满足条件的intent,多线程并发执行。

? 在代码中解除注册用的是:MainActivity.this.unregisterReceiver(receiver);

4.在某activity中,首先new intent(),初始化intent,然后使用

? Activity.this.sendBroadcast(intent);

? 将该intent广播出去,如果和哪个BroadcastReceiver的intent-filter匹配了,就可以激活该BroadcastReceiver。

5.使用难点:intent的action和data和catagory的理解?

热点排行