android系统性学习 2

理解广播与广播接收器:

1.  广播事件处理属于 系统级的事件处理 ( 一般事件处理是属于 View 级的事件处理 )

2.  一个应用可以在发生特定事件时 发送 Broadcast , 系统中任何应用只要注册了 对应 Receiver 就会 接收 到此 Broadcast

3.  一个应用如果对某个广播感兴趣 , 就可以 注册对应的 Receiver 来接收广播

4.  广播事件机制是 应用程序 ( 进程间 ) 之间通信 的一种手段

相关API

Context

• sendBroadcast (Intent intent) : 发送一般广播

• sendOrderedBroadcast (Intent intent,String ) : 发送有序广播

• registerReceiver (receiver, intentFilter ) : 注册广播接收器

• unRegisterReceiver (receiver) : 解注册广播接收器

BroadcastReceiver

• onReceive (Context context , Intent intent) : 接收到广播的回调

• abortBroadcast () : 中断广播的继续传播

boolean isOrderedBroadcast() : 判断是否是有序广播

常见系统广播

收到短信广播 : android.provider.Telephony.SMS_RECEIVED

开机完成广播 : Intent.ACTION_BOOT_COMPLETED

• 应用被卸载广播 : Intent.ACTION_PACKAGE_REMOVED

• 手机锁屏 : Intent.ACTION_SCREEN_OFF

• 手机开屏 : Intent.ACTION_SCREEN_ON

注册广播接收器

方式一 :   配置文件注册 ( 静态注册 )

<receiver android:name=cn.njit.br.MyBroadcastReceiver”>

<intent-filter android:priority=“500”>

<action android:name=cn.njit.br.mybroadcastreceiver”/>

方式二**😗*  硬编码注册**(动态注册)**

MyBroadcastReceiver2 receiver2 = new MyBroadcastReceiver2();

IntentFilter filter = new IntentFilter(action);

registerReceiver(receiver2, filter);

区别静态注册与动态注册

 

静态注册

动态注册

注册方式

配置文件

Java代码

注册的时间

应用安装成功/手机开机完成

注册时不会创建对象

接收到广播才创建

执行registerReceiver(receiver, intentFilter)

 

注册就创建对象

生命结束的时间

(解注册)

应用卸载

对象执行onReceive()后就回收了

执行unregisterReceiver()

(activity退出必须解注册)

解注册后对象被回收

应用情景

需要监听的时间为应用的整个生命过程中

服务于某个Activity/Se

rvice

发送两种类型的广播

1.发送一般广播

•context.sendBroadCast(Intent intent)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值