Android之广播机制—静态注册
来源:互联网 发布:淘宝上怎么退款的流程 编辑:程序博客网 时间:2024/05/02 01:00
广播机制:
通过当前Activity里加载的布局内的控件绑定监听器,监听器内创建Intent对象,
并给Intent的action标签赋值(一般选择内置标签),
并用当前activity的对象的sendBroadcast方法将这个带有广播的intent对象发送出去。
然后创建广播接收器类,继承自BroadcastReceiver父类,重写其onReceive方法,
在onReceive方法内,写入逻辑代码,也就是接收广播后的
处理方法。然后在Manifest文件里对Receiver进行注册,
Receiver内的action标签必须和刚才发送消息的intent的action标签内容一致。
这样每次动作带有监听器的控件时,广播接收器就能收到其广播,并做出相应处理。
示例代码:
首先在Manifest文件中为Receiver进行注册。
以上在Manifest文件中进行注册的方法叫做静态注册,静态注册的好处就是程序即使未启动,
我们也能接收到广播。
还有一种方法叫做动态注册,即在代码中完成注册。好处是我们可以自由的控制注册与注销。
灵活性方面有很大的优势。
需要注意的是,动态注册的广播接收器一定要取消注册才行。
通过当前Activity里加载的布局内的控件绑定监听器,监听器内创建Intent对象,
并给Intent的action标签赋值(一般选择内置标签),
并用当前activity的对象的sendBroadcast方法将这个带有广播的intent对象发送出去。
然后创建广播接收器类,继承自BroadcastReceiver父类,重写其onReceive方法,
在onReceive方法内,写入逻辑代码,也就是接收广播后的
处理方法。然后在Manifest文件里对Receiver进行注册,
Receiver内的action标签必须和刚才发送消息的intent的action标签内容一致。
这样每次动作带有监听器的控件时,广播接收器就能收到其广播,并做出相应处理。
示例代码:
首先在Manifest文件中为Receiver进行注册。
</pre><pre name="code" class="html"><!--为创建的广播接收器类进行注册,引用接收器类的地址,和activity的引用方式一样--> <receiver android:name=".Receiver"> <!--intent-filter内的action标签写上和我们发送广播的intent的标签相同,这样这个接收器就能 够接收我们按钮所发出的广播了。如果标签不同,就不会接收,也不会创建广播接收器的对象实例。--> <intent-filter> <action android:name="android.intent.action.EDIT"/> </intent-filter> </receiver>
接下来是按钮的监听器,用于发送广播。
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {//监听器的含义就是,点击一次按钮,就发送一次广播。 //通过显式Intent来传递这个广播。 //新建intent的同时,给intent的setAction属性赋值。 //值为标签"Intent.ACTION_EDIT",需要注意的是,标签里的Intent仍然是大写的. Intent intent=new Intent(Intent.ACTION_EDIT); //然后用当前Activity的sendBroadcast(send是发送的意思)方法将这个带有广播属性的intent发送出去。 //这个intent广播的标签为ACTION_EDIT,所以能接收这个广播并处理的Receiver的action标签也必须为ACTION_EDIT. MainActivity.this.sendBroadcast(intent); } });接下来是接收器类,接收器类一般情况下是需要我们自己创建的。
//这是我们创建的广播接收器,他先得继承BroadcastReceiver父类,然后复写其onReceive(这里不带r)方法。public class Receiver extends BroadcastReceiver { @Override public void onReceive(Context context,Intent intent){ //onReceive方法的内容就是接收了广播之后的处理方法。 Log.d("msg","onReceiver"); }}
以上在Manifest文件中进行注册的方法叫做静态注册,静态注册的好处就是程序即使未启动,
我们也能接收到广播。
还有一种方法叫做动态注册,即在代码中完成注册。好处是我们可以自由的控制注册与注销。
灵活性方面有很大的优势。
需要注意的是,动态注册的广播接收器一定要取消注册才行。
0 0
- Android之广播机制—静态注册
- Android之广播机制—动态注册
- 广播机制 静态注册
- android 静态注册广播
- Android广播之注册广播(包括静态广播和动态广播的注册)源码分析
- 【Android成长之路】全局大喇叭——广播机制的浅谈(接收系统广播与动、静态注册接收器)
- Android广播机制——广播的注册
- android 静态注册广播注意事项
- Android之广播机制—自定义广播
- Android之广播机制—有序广播
- Android之广播机制—本地广播
- 学习小记--android静态注册广播接收器之惑--6.6
- Android之广播二(静态注册实现开机启动)
- Android的广播机制注册
- #android# 广播静态注册 动态注册
- android 注册静态广播接收器VS注册动态广播接收器
- Android静态注册广播和动态注册广播的区别
- Android——接收广播(静态注册)
- Android View 事件分发机制 源码解析 (上)
- http头中的host字段详解
- Android ViewGroup事件分发机制
- rabbitmq 爬虫
- js监听textarea文本域变化使高度自适应
- Android之广播机制—静态注册
- IE8下textarea的onpropertychange问题Stack overflow at line.
- Python中tab键自动补全功能的配置
- LeetCode 270. Closest Binary Search Tree Value(二叉搜索树最接近值查找)
- Android应用开发Scroller详解及源码浅析
- 几个线段树经典运用
- Android打包混淆实战总结
- Android应用坐标系统全面详解
- Android应用开发allowBackup敏感信息泄露的一点反思