Broadcast Receicer解析

Android中,事件监听由触发器组件实现。触发器组件均派生自Broadcast Receicer组件。需要集中实现onReceive()方法,并在XML文件中注册receiveronReceive()方法执行后,便结束了生命周期。

触发器组件使用模式是接收到广播事件消息,针对事件类型做出简单的处理和判断,接着或利用Android的通知机制Notification将消息通知给用户,或通过Context.satrtActivity()函数展示界面相关组件与用户交互,或是利用Context.startService()调用对应的服务进行后续复杂的处理。

Android中当事件发生时,组件管理服务才会根据配置信息通知对应的组件触发器对象,执行构造组件的进程(节约系统开销,简化开发复杂性)

触发器组件的使用有冷热插拔2种。冷插拔是将组件触发器相关信息写在配置文件;热插拔通过代码中Context.registerReceiver()Context.unregisterReceiver()动态将触发器组件和监听事件绑定。界面组件Activity.onResume进行触发器组件注册,Activity.onPause注销对应的组件触发器。热插拔适用于处理与当前界面相关的事件。(时间变化、电量变化)

广播事件的发送:通过Intent对象实现,通过Context.sendBroadcastContext.sendOrderedBroadcast方法进行发送

广播模式有2种:通过Context.sendBroadcast是普通广播模式,所有注册了该广播事件的触发器都会得到事件通知,并发在各自应用程序执行。如开机事件。

有序广播模式,Context.sendOrderedBroadcast方法进行发送。监听该事件的触发器依照优先级排序,由高到低处理该事件。高优先级的触发器可以通过BroadcastReceiver.abortBroadcast终止低优先级的触发器继续处理。组件触发器可以通过BroadcastReceiver.setResult添加额外的数据,下一个触发器组件可以使用这些数据。如关机事件。

更多相关文章

  1. Android安卓布局简介
  2. Android(安卓)开发四大天王 四大组件 (很简洁,很明晰)
  3. [Android] ExpandableListView 子目录点击不响应,解决
  4. ExpandableListView 怎么和其他组件相互整合布局
  5. Android菜鸟笔记3-Activity切换
  6. 【Mark 】AndroidStudio_移动应用开发
  7. Android(安卓)初始化Setup Wizard——Provision
  8. Android(安卓)滑动效果基础篇(四)—— Gallery + GridView
  9. Android应用程序组件Content Provider应用实例

随机推荐

  1. Android调用系统裁剪的实现方法
  2. Android HAL 开发 (4)
  3. Android Animation 高手必读 之一 Tweene
  4. Android force Locale
  5. Android(安卓)ApiDemos示例解析(85):Grap
  6. Android(安卓)图片切换,ImageSwitcher 学
  7. Android 自定义文件路径选择器
  8. 让Cocos2d-x实现全屏等比缩放适配Android
  9. Android 平台上拍照/录像,图片/视频选择,编
  10. Android WebView中的JavaScript代码使用