Android-广播接受者
来源:互联网 发布:js阻止a标签跳转 编辑:程序博客网 时间:2024/04/30 15:36
广播接收者,事实上是一种观察者模式的实现。通过对关心的事件进行订阅(通过Intent-Filter来过滤意图),当关心事件发生时(广播一个意图),会自动回调广播接受者的onReceive()方法。广播接受者自身没有图形化的显示界面,通常会在onReceive()方法里启动一个Activity或者通过NotificationManager来提醒用户。以下是使用方法:
1、 广播接收者作为android四大组件之一,必须进行注册,注册的方式有两种,一种是静态方式,即在清单文件中注册。二是动态方式,通常在Activity中进行注册。
静态注册:
<receiver android:name="com.example.broadcasttest.MyBroadcastReceiver"> <intent-filter> <action android:name="com.com.freedie.broadcast"/> </intent-filter></receiver>
这种方式的特点是,不管当前应用是否启动,都能接受广播。
动态注册:一般在onResume()方法中注册,在onPause()方法中注销。
public void onResume(){super.onResume();receiver=new MyBroadcastReceiver();IntentFilter filter=new IntentFilter();filter.addAction("com.freedie.broadcast");this.registerReceiver(receiver, filter);}
public void onStop(){super.onStop();this.unregisterReceiver(receiver);}
2、 在应用中发起广播,该广播的action与注册的关心事件的动作相同
public void onClick(View v) {// TODO Auto-generated method stubif(v.getId()==R.id.button1){Log.d("broadcast", "send intent");Intent intent=new Intent();intent.setAction("com.freedie.broadcast");this.sendBroadcast(intent);}}
3、 编写Receiver的回调方法onReceive()
public void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubif(intent.getAction().equals("com.freedie.broadcast")){Log.d("broadcast", "com.freedie.broadcast was received!");}}
实际上,receiver可以接受两类广播。
1. Normal Broadcast这类广播由sendBroadcast(intent)发出。接受者接受该类广播的顺序是不定的,通常是同时接受。这意味着效率高,但是接受者不能将处理结果进行传递,也不能终止广播。
2. Ordered Broadcast这类广播由sendOrderedBroadcast发出。每个时刻只有一个接受者接受该广播,处理完了以后传递给下一个广播。接受的顺序,按照优先级来确定,优先级相同时顺序随机。这种广播可以传递处理结果,还可以随意终止广播。
0 0
- Android-广播接受者
- android广播接受者broadcastReceiver
- android 注册广播接受者
- android广播接受者学习
- android注册广播接受者registerReceiver
- Android广播接受者BroadcastReceiver详解
- Android之广播接受者(无序广播)
- 广播接受者
- 广播接受者
- Android开发之广播接受者Broadcast…
- android ,广播接受者。调用服务内部方法
- Android广播接受者案例IP拨号器
- Android之BroadcastReceiver(广播接受者)详解
- android学习笔记(广播接受者)
- Android-广播BroadcastReceiver-自定义广播接受者和发送者
- 4.1.3.3 Android 网络状态监听的静态广播接受者和动态广播接受者Broadcast-Receiver
- Android之BroadcastReceiver 广播接受者(短信窃听实例)
- Android 通过广播接受者监听用户的短信
- 黑马程序员—交通灯管理系统
- 用这个东西就可以抓到GSM短信
- 工作常识总结
- Android DrawerLayout+ fragment 布局实现左右侧滑
- 亲爱的,你是我雨中飘逝的伞
- Android-广播接受者
- Linux静态库和动态库
- WPF开发示例,详细操作步骤
- Adnroid中Activity的生命周期
- [动手写code] 链表基础
- MFC的CListCtrl的使用与技巧
- android模拟器模拟定位GPS
- 全面了解Android开发规范
- 内核编译错误:Makefile‘混和的隐含和普通规则’错误的解决