android广播机制的简单接受BroadcastReceiver

本文详细介绍了Android中的BroadcastReceiver(广播接收器)组件及其工作原理。包括广播接收器的作用、实现方式、广播事件类型及注册、发送和接收广播事件的具体流程。

BroadcastReceiver(广播接收器)是Android中的四大组件之一.

  下面是Android Doc中关于BroadcastReceiver的概述:

  ①广播接收器是一个专注于接收广播通知信息,并做出对应处理的组件.很多广播是源自于系统代码的──比如,通知时区改变、电池电量低、拍摄了一张照片或者用户改变了语言选项.应用程序也可以进行广播──比如说,通知其它应用程序一些数据下载完成并处于可用状态.

  ②应用程序可以拥有任意数量的广播接收器以对所有它感兴趣的通知信息予以响应.所有的接收器均继承自BroadcastReceiver基类.

  ③广播接收器没有用户界面.然而,它们可以启动一个activity来响应它们收到的信息,或者用NotificationManager来通知用户.通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等等.一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息.

  Android中的广播事件有两种,一种就是系统广播事件,比如:ACTION_BOOT_COMPLETED(系统启动完成后触发),ACTION_TIME_CHANGED(系统时间改变时触发),ACTION_BATTERY_LOW(电量低时触发)等等.另外一种是我们自定义的广播事件.

  广播事件的流程

  ①注册广播事件:注册方式有两种,一种是静态注册,就是在AndroidManifest.xml文件中定义,注册的广播接收器必须要继承BroadcastReceiver;另一种是动态注册,是在程序中使用Context.registerReceiver注册,注册的广播接收器相当于一个匿名类.两种方式都需要IntentFIlter.

  ②发送广播事件:通过Context.sendBroadcast来发送,由Intent来传递注册时用到的Action.

  ③接收广播事件:当发送的广播被接收器监听到后,会调用它的onReceive()方法,并将包含消息的Intent对象传给它.onReceive中代码的执行时间不要超过5s,否则Android会弹出超时dialog.

转载于:https://www.cnblogs.com/crazywenza/archive/2012/11/28/2792992.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值