Broadcast Receiver



Android广播机制包括三个基本要素:广播(Broadcast) - 用于发送广播。广播接收器(BroadcastReceiver) - 用于接收广播;意图内容(Intent)-用于保存广播相关信息的媒介。Broadcast是一种广泛运用的在应用程序之间传输信息的机制。

而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。

<p>

1、Android的广播机制介绍

                在 Android 里面有各种各样的广播,比方电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发人员也能够监听这些广播并做出程序逻辑的处理。

2、BroadcastReceiver的作用

      BroadcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件。而且广播事件处理机制是系统级别的。

3、BroadcastReceiver的编写方法

        继承BroadcastReceiver的类,重写了onReceiver方法。并在onReceiver方法中对广播进行处理。


4、BroadcastReveiver的生命周期
        一个BroadcastReceiver 对象仅仅有在被调用onReceive(Context, Intent)时才有效,当从该函数返回后。该对象就无效的了。结束生命周期。

二、注冊BroadcastReceiver的方法
        BroadcastReceiver用于监听被广播的事件(Intent)    
            为了达到这个目的,BroadcastReceiver必须进行注冊,注冊的方法有下面两种:

1、在应用程序的代码其中进行注冊
        注冊BroadcastReceiver:
            registerReceiver(receiver,filter);
            
        取消注冊BroadcastReceiver:
            unregisterReceiver(receiver);
            
        假设一个BroadcastReceiver用于更新UI,那么一般会使用这样的方法进行注冊,
        在Activty启动的时候进行注冊BroadcastReceiver。在Activity不可见以后取消注冊(onStop())。
 
2、在AndroidMainfest.xml其中进行注冊
        使用这种方式注冊的BroadcastReceiver,即使应用程序没有启动,或者被Kill掉以后。也始终会保持活动状态;

三、Android内置的Broadcast Actions
        在Android平台其中,内置了非常多Action。用于帮助开发人员监听手机上所发生的各种事件,下面是比較常见的Action。
能够在帮助文档中,Intent类,找到它的常量(以Acition开头(关键是Broadcast Action))
       



在BroadCast 中尽量不要处理太多逻辑问题。建议复杂的逻辑交给Activity 或者 Service 去处理


【Android 初学】13、Broadcast Receiver的更多相关文章

  1. android 四大组件Broadcast Receiver

    本文介绍Broadcast Receiver,包括几部分内容:Broadcast Receiver概述及实例.自定义Broadcast Receiver.Broadcast Receiver的实现细节 ...

  2. Android四大组件--Broadcast Receiver具体解释

    本文主要讲述了: 一.BroadcastReceiver概述: 二.BroadcastReceiver事件分类 三.BroadcastReceiver事件的编程流程 四.两类BroadcastRece ...

  3. Android四大组件-Broadcast Receiver

    http://www.jianshu.com/p/1013a366cc72 http://www.jianshu.com/p/ca3d87a4cdf3 前言 基础知识. 1.Android广播分为两个 ...

  4. Android源码——Broadcast Receiver

    Android源码分析——广播 广播是一种在组件之间进行消息传递的方式.广播机制的实现是基于Binder进程间通信. Binder进程间通信和广播的差别:Binder中,Client组件和Servic ...

  5. Android Broadcast Receiver 使用入门

    Broadcast Receiver 的使用        1.Broadcast Receiver简介        2.Broadcast Receiver接收系统自带的广播        3.自 ...

  6. android的Broadcast receiver

    broadcast receiver是用来监听intent的. android大量使用了broadcast receiver,比如:开机.电话打进来.发送消息,手机电量过低 有两种方式注册broadc ...

  7. Android Broadcast Receiver注册

    之前有关 Broadcast Receiver的链 动态注册 1.我们新建一个广播接受类,我们创建一个内部类让他继承BroadcastReceiver,并且重新其中当有广播来到时执行的方法onRece ...

  8. Android开发学习之路--Broadcast Receiver之初体验

    学习了Activity组件后,这里再学习下另一个组件Broadcast Receiver组件.这里学习下自定义的Broadcast Receiver.通过按键自己发送广播,然后自己接收广播.新建MyB ...

  9. Android笔记(五):广播接收者(Broadcast Receiver)

    Android有四大组件,分别为:Activity(活动).Service(服务).Content Provider(内容提供器).Broadcast Receiver(广播接收者). 引入广播的目的 ...

随机推荐

  1. C语言 - 头文件使用案例

    源代码分门别类管理,通过头文件. 放置一些函数声明,变量声明,常量定义,宏定义. hotel.h #ifndef HOTEL_H_INCLUDED #define HOTEL_H_INCLUDED # ...

  2. PHP 和 Java 的主要区别有哪些?

    PHP 和 Java 的主要区别有哪些? 其实Java方面我要学的真的还有很多,要是有大项目的机会和经验就好,所以提前我肯定要把基础打扎实. 我要学的还有很多,比如前段,后端,还有linux,还有肯定 ...

  3. Java-Zipkin:Zipkin 介绍

    ylbtech-Java-Zipkin:Zipkin 介绍 1.返回顶部 1. 介绍 Zipkin 是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 ...

  4. Python使用装饰器自动调用父类__init__

    众所周知,Python中class的构造函数实际是__new__(),但是如果我们执行p1=Point()的时候,不仅会调用Point的__new__方法,而且会调用Point的__init__方法. ...

  5. ffmpeg实现

    最近做一个小项目,要在线播放录制的 MP4 视频,想开源的 flash player 或 html 5 可以播放.可,虽然 MP4 是 H.264 编码,但就是播放不了.可能是封装方式(PS 方式)不 ...

  6. js设计模式-工厂模式(抽象工厂)

    场景:定义一个抽象类 AbsProducer(生产商),该生产商有两个行为,一个生产,一个出售,其中生产方法为抽象方法,由具体的厂家(工厂)去实现,出售的产品均是电子产品(返回的对象为电子产品对象,即 ...

  7. 9.13[XJOI] NOIP训练32

    今日9.13 洛谷打卡:小吉(今天心情不错,决定取消密码) (日常记流水账) 上午 今天听说是鏼鏼的题目,题面非常的清真啊,也没有当初以为的爆零啊 T1 排排坐 非常非常清真的模拟或是结论题,再次将难 ...

  8. 适配器模式(adapter)C++实现

    意图:将一个类的接口转换成客户希望的另一个接口. 适用性:1.你想使用一个已存在的类,而它的接口不符合你的需求. 2.你想创建一个可以复用的类,该类可以与其它不相关的类或不可预见的类协同工作. 类适配 ...

  9. react拼接class&将JS标签转换为HTML

    1.在JS中混杂字符和HTML标签,识别方法: const menuList = ['门店', '星享俱乐部', '菜单', '<hr></hr>', '星巴克移动应用', ' ...

  10. 13.javaweb xml标签库详解

    一.XML标签简介 1,  作用 2,  标签分类 XPath 路径标记 查找节点元素示例 2.1<x:out> 2.2<x:parse> 操作示例:导入XML文件,解析,然后 ...