1. 介绍

BroadcastReceiver用于接收广播事件(Intent), 是Android四大组件之一

2. 使用

2.1  实现广播接收类

实现一个广播收类继承BroadcastReceiver类, 并覆写onReceive()方法

public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {}
}

2.2 注册广播事件

注册广播事件的方法由两种: 静态注册和动态注册

2.2.1 静态注册

修改AndroidManifest.xml文件, 添加感兴趣的ACTION

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
...
<receiver android:name=".TestBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.EDIT" />
</intent-filter>
</receiver>
</application>
</manifest>

2.2.2 动态注册

动态注册是在代码中实时注册广播事件的方法.

相关函数如下:

MyBroadcastReceiver mybroadcastReceiver = new MyBroadcastReceiver();
...
/* Register */
IntentFilter filter = new IntentFilter();
filter.addAction("android.test.broadcast");
MainActivity.this.registerReceiver(mybroadcastReceiver, filter); ...
/* Unregister */
MainActivity.this.registerReceiver(mybroadcastReceiver);

2.3 发送广播事件

发送广播的方法如下:

/* 方法1: Action为 "android.test.broadcast" */
Intent intent = new Intent("android.test.broadcast");
sendBroadcast(intent);

/* 方法2: Action为 "android.intent.action.EDIT"*/
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);
sendBroadcast(intent);

3. 注意事项

值得主要的是广播接受类(BroadcastReceiver)的生命周期

当一个广播消息到达接收者时, Android调用它的onReceive()方法并传递给它包含消息的Intent对象
广播接收者被认为仅当它执行这个方法时是活跃的, 当onReceive()返回后, 它是不活跃的.

参考:
<Android 浅析 Broadcast (一) 使用>

Android BroadcastReceiver使用的更多相关文章

  1. android BroadcastReceiver ACTION_TIME_TICK 系统时间监听不到

    android BroadcastReceiver ACTION_TIME_TICK 系统时间监听不到 今天做android上的消息推送,启动了一个独立service,然后在里面监听系统的ACTION ...

  2. Android BroadcastReceiver 简介

    Android BroadcastReceiver 简介  在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver     活动(A ...

  3. 4、android BroadcastReceiver详细用法

    BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播. 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这 ...

  4. android BroadcastReceiver

    AndroidManifast.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...

  5. Android BroadcastReceiver广播接受者

    静态注册 配置清单表注册:只要曾经注册过哪怕关闭也能调用  方式一:sendBroadCastReceive   广播的步骤:       发送  无序广播,普通广播       (1).发送方    ...

  6. Android BroadcastReceiver实时监听电量

    Android系统中实时的监听手机电量以及开机启动功能都是通过BroadcastReceiver组件实现的.我们可以动态注册这个类的一个实例通过 Context.registerReceiver()方 ...

  7. Android BroadcastReceiver实例Demo(有序广播的发送)

    上一篇简介了广播的发送,这篇主要介绍下,有序广播的发送. 设置完相关属性的时候,广播就会依照有序的方式进行发送: 发送顺序: 先发送第二条广播: 再发送第一条广播: 最后发送第三条广播. 代码例如以下 ...

  8. Android BroadcastReceiver 接收收到短信的广播

    一.知识介绍 1.broadcastReceiver是广播接受者,四大组件之一. 2.Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息. 3.使用场景: ①当手机没有电 ...

  9. android BroadcastReceiver组件简单的使用

    1.清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=& ...

  10. Android BroadcastReceiver解析

    目录   示意图 1. 定义 即 广播,是一个全局的监听器,属于Android四大组件之一 Android 广播分为两个角色:广播发送者.广播接收者 2. 作用 监听 / 接收 应用 App 发出的广 ...

随机推荐

  1. django-mysqlclient_1193错误

    Django 配置 mysqlclient 驱动 1193错误 错误描述: django.db.utils.OperationalError: (1193, "Unknown system ...

  2. PHP.26-TP框架商城应用实例-后台3-商品修改、删除

    商品修改{修改页一般与添加页有百分之九十的相似度} create($_POST,Model::MODEL_UPDATE):系统内置的数据操作包括Model::MODEL_INSERT(或者1)和Mod ...

  3. 03,Python网络爬虫第一弹《Python网络爬虫相关基础概念》

    爬虫介绍 引入 为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上. 我们都知道,当前我们所处的时代 ...

  4. Android stadio Switch repository Android stadio切换仓库

    Android stadio 有时候,有很多module. 这些module 都有自己的仓库.也就是不在一块.那么,Android stadio 默认管理的就是根git. 如图,画对号的就是默认的. ...

  5. 《数据结构与算法分析:C语言描述》复习——第十章“算法设计技巧”——Huffman编码

    2014.07.06 16:47 简介: 给定一段有固定符号集合S构成的文本T,集合S中总共有n种符号.如果对于每种符号,使用一种不同的由‘0’和‘1’构成的位字符串来代替,比如: ‘a’->‘ ...

  6. Vbs 测试程序一

    转载请注明出处 有点小恶意哦!慎重测试 'This procedure is written in SeChaos, only for entertainment, not malicious com ...

  7. 了解JavaScript核心精髓(四)

    ES6 1.import与require区别 import 是同步导入js模块. require 是异步导入js模块. 2.使用let与const let con1 = 3 //与var作用相似,le ...

  8. AppCan试用体验

    最近自己想开发一个基于Android平台的小应用,但不想使用JAVA开发,还要快速实现功能,学习成本低. 所以找了很多框架,最后基本锁定在phoneGap和AppCan,又看了AppCan与phone ...

  9. Opencv3.2.0安装包

    这个资源是Opencv3.2.0安装包,包括Windows软件包,Android软件包,IOS软件包,还有opencv的源代码:需要的下载吧. 点击下载

  10. C#共享内存

    百度:C#共享内存. 文章:C# .Net 多进程同步 通信 共享内存 内存映射文件 Memory Mapped 转 资料:UnmanagedMemoryAccessor 资料:MemoryMappe ...