广播机制 -- MarsChen Android 开发教程学习笔记

来源:互联网 发布:台达plc编程教学 编辑:程序博客网 时间:2024/06/04 17:48

广播机制
广播机制 -- MarsChen Android 开发教程学习笔记 - Roller44 - 病友说
 
Broadcaset Receiver
Broadcast Receiver 是一个广播接收器,当有事件出发的时候系统会响所有广播接收器发送广播,符合该广播条件的接收器就会启动,开发者在相应函数中输入代码即可。
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);
TestActivity.this.sendBroadcast(intent);
以上语句通过一个intent 将信息传输,intent 的语法和以前接触的不同。

Broadcast Receiver 的注册
广播接收器需要预先在AndroidManifest 文件中注册。
<receiver android:name=".TestReceiver">
<intent-filter>
<action android:name="android.intent.action.EDIT" />
</intent-filter>
</receiver>

条件语句中同时受action 和data  两段控制,data 就相当于语句中的uri 部分。
同时,也可以在JAVA 文件中注册。在AndroidManifest 中注册会导致Broadcast Receiver 一直处于监听状态,如需要通过监听事件更新Activity 之类不需要一直监听广播的操作可在JAVA 文件中注册,相比于前者,省电省内存。

//注册

registerReceiver(receiver, filter);

//取消注册

unregisterReceiver(receiver);
Broadcast Receiver的生命周期
当广播触发完毕之后,接收器内的方法会被销毁,一直到下一次接受到广播再产生。但是一旦在Manifest 文件中注册,即使方法没有产生,程序没有执行,Broadcast Receiver 都会处于活跃状态,监听广播,只要有符合自身条件的便立即执行,产生方法。
0 0
原创粉丝点击