zoukankan      html  css  js  c++  java
  • 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.

  • 相关阅读:
    Ubuntu下用NdisWrapper安装网卡驱动
    Ubuntu下轻松切换GDM, LightDM , KDM
    Ubuntu常用软件推荐,图文详细说明及下载
    Matlab绘图-很详细,很全面
    安装sunvirtualbox
    Ubuntu下使用虚拟机安装Windows XP(sunvirtualbox)
    Ubuntu下安装vmware 9.0 + 注册码
    Linux如何用QQ?Linux下QQ使用的几种方案
    怎么解决 ubuntu 装kde桌面遇到的汉化问题
    Ubuntu下安装KDE及安装中文环境
  • 原文地址:https://www.cnblogs.com/crazywenza/p/2792992.html
Copyright © 2011-2022 走看看