【Android 初学】13、Broadcast Receiver

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 去处理

时间: 2024-10-21 10:25:21

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

android开发 关于BroadCast Receiver

 BroadCast Receiver是android常用的技术之一 用于发送/广播Intent消息 下面就介绍两种简单的使用方法 一. 通过组合的方式 在类中定义一个BroadcastReceiver对象 重写onReceive 这样就能接收到广播 这个可以放到一般的Activity类中 首先注册IntentFilter 指定要接收的消息 //注册一个IntentFilter IntentFilter intentFilter = new IntentFilter( "PlayHandle

Android四大组件-Broadcast Receiver

http://www.jianshu.com/p/1013a366cc72 前言 基础知识. 1.Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播可以跨进程甚至跨App直接通信. 2.你的APP可以接收广播(如当电话呼入时,或者数据网络可用时)进行接收并做出响应. 3.广播接收器没有用户界面.然而,它们可以启动一个Activity或Service服务来响应它们收到的信息,或者用NotificationMa

Android源码——Broadcast Receiver

Android源码分析——广播 广播是一种在组件之间进行消息传递的方式.广播机制的实现是基于Binder进程间通信. Binder进程间通信和广播的差别:Binder中,Client组件和Service组件通信之前必须先获得Service的一个代理对象,Client组件事先要知道Service组件的存在.广播发送者事先是不要知道广播接收者的存在.因此,广播发送者和接收者之间的耦合度较低. 广播是基于消息发布和订阅者模型实现的. 在同等情况下,动态注册的广播接收者要比静态注册的广播接收者优先收到广

【Android的从零单排开发日记】之入门篇(六)——Android四大组件之Broadcast Receiver

广播接受者是作为系统的监听者存在着的,它可以监听系统或系统中其他应用发生的事件来做出响应.如设备开机时,应用要检查数据的变化状况,此时就可以通过广播来把消息通知给用户.又如网络状态改变时,电量变化时都可以通过广播来通知用户.要做比喻的话,广播就像是我们的感官,能够有效且快速的从外界获取信息来反馈给自身. 一.广播的功能和特征 广播的生命周期很短,经过 调用对象—实现onReceive—结束 整个过程就结束了.从实现的复杂度和代码量来看,广播无疑是最迷你的Android 组件,实现往往只需几行代码

Android Broadcast Receiver (广播接收者)

一.简介 Broadcast Receiver是广播接收器,接收自定义和系统的主播.也可以称为监听器. Broadcast Intent与Intent一样是通信的媒介,与Intent不同的是Broadcast Intent同时被多个组件接收. Broadcast Intent广播机制,广播源发出消息,通过AMS(Activity manager service),可以使多个组件接收同一个消息.与Broadcast Intent成对配合应用的是Broadcast Receiver广播接收器,用于,

Android开发- Intent和Broadcast Receiver

Intent是一种消息传递机制,可以在应用程序内使用,也可以在应用程序间使用.可以用于: 使用类名显示启动一个特定的Service或者Activity. 启动Activity或者Service来执行一个动作的Intent,通常需要使用特定的数据,或者对特定的数据执行动作. 广播某个时间已经发生. 使用Intent来启动Activity 显式启动新的Activity Intent intent = new Intent(MyActivity.this, SelectHorseActivity.cl

详解广播机制,Broadcast Receiver,Android进阶必备知识(一)。

直奔主题,关于广播的一些定义什么的我觉得只要是一名合格的初级android开发这都知道吧,我下面要做的就是怎么去使用broadcast receiver. 1.怎么去监听系统广播? Android系统有很多内置的系统广播:电话,短信,时间,地区,电池电量,网络变化等等...那么我们怎么去在我们的应用中实现监听呢?下面我们以监听手机网络发生改变的广播进行监听,都知道广播有两种注册方式,在这里我使用的代码注册的方式,为的是能更好的去理解广播运行机制.在代码中注册一定要注意在你使用完毕的时候一定要反注

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

学习了Activity组件后,这里再学习下另一个组件Broadcast Receiver组件.这里学习下自定义的Broadcast Receiver.通过按键自己发送广播,然后自己接收广播.新建MyBroadcastReceiver,代码如下: package com.example.jared.broadcasttest; import android.content.BroadcastReceiver; import android.content.Context; import andro

Android基础之五:四大组件(Broadcast Receiver)

Broadcast Receiver作为Android四大组件之一,在整个系统中广泛运用,系统中存在各种各样的广播机制,例如下载,网络等都有具体的广播接收器 广播在很大程度上简化了开发,可以通过广播监听系统状态变化,监听另一App中事件传递,可以接收当前App中不同组件,不同UI.不同线程之间的消息传递 广播的创建与使用 创建一个继承自BroadcastReceiver类的子类,重写onReceiver方法 public class MReceiver extends BroadcastRece