- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BroadcastReceiver 1. 理论概述 2. 广播与广播接收器开发 2.1 注册广播接收器 2.2 发送广播 3. 应用练习 3.1 电话监听服务的自启动 3.2 黑名单号的短信拦截 从电台和收音机开始 电台1: 85.5 电台2: 106.1 发送广播 (85.5) 发送广播 (106.1) 收音机调频到 (85.5) 收音机调频到 (106.1) 1. 理论概述 理解广播与广播接收器 广播事件处理属于系统级的事件处理(一般事件处理是属于View级的事件处理) 一个应用可以在发生特定事件时发送Broadcast, 系统中任何应用只要注册了对应Receiver就会接收到此Broadcast 一个应用如果对某个广播感兴趣, 就可以注册对应的Receiver来接收广播 广播事件机制是应用程序(进程间)之间通信的一种手段 1. 理论概述 相关API Context sendBroadcast(Intent intent) : 发送一般广播 sendOrderedBroadcast(Intent intent) : 发送有序广播 registerReceiver(receiver, intentFilter) : 注册广播接收器 unRegisterReceiver(receiver) : 解注册广播接收器 BroadcastReceiver onReceive(Context context, Intent intent) : 接收到广播的回调 abortBroadcast() : 中断广播的继续传播 boolean isOrderedBroadcast() : 判断是否是有序广播 1. 理论概述 常见系统广播 收到短信广播 : vider.Telephony.SMS_RECEIVED 开机完成广播 : Intent.ACTION_BOOT_COMPLETED 应用被卸载广播 : Intent.ACTION_PACKAGE_REMOVED 手机锁屏 : Intent.ACTION_SCREEN_OFF 手机开屏 : Intent.ACTION_SCREEN_ON 1. 理论概述 测试用例 1. 理论概述 编写广播接收器类 public class MyBroadcastReceiver extends BroadcastReceiver{ public void onReceive(Context context, Intent intent){ //处理广播 } } 广播接收器类都必须继承于BroadcastReceiver类 2.1 注册广播接收器 注册广播接收器 方式一: 配置文件注册(静态注册) receiver android:name=com.atguigu.t6_br.MyBroadcastReceiver !--priority指定当前receiver的优先级, 值是0-1000, 越大越好 -- intent-filter android:priority=500 action android:name=com.atguigu.t6_br.mybroadcastreceiver/ /intent-filter /receiver 方式二: 硬编码注册(动态注册) MyBroadcastReceiver2 receiver2 = new MyBroadcastReceiver2(); IntentFilter filter = new IntentFilter(action); registerReceiver(receiver2, filter); 2.1 注册广播接收器 区别静态注册与动态注册 静态注册 动态注册 注册方式 配置文件 Java代码 注册的时间 应用安装成功/手机开机完成 注册时不会创建对象 接收到广播才创建 执行registerReceiver(receiver, intentFilter) 注册就创建对象 生命结束的时间 (解注册) 应用卸载 对象执行onReceive()后就回收了 执行unregisterReceiver() (activity退出必须解注册) 解注册后对象被回收 应用情景 需要监听的时间为应用的整个生命过程中 只服务于某个Activity/Se rvice 2.1 注册广播接收器 2.2 发送广播 发送一般广播 context.sendBroadCast(Intent intent) 发送有序广播 context.sendOrderedBroadcast(In
有哪些信誉好的足球投注网站
文档评论(0)