Android BroadcastReceiver使用
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使用的更多相关文章
- android BroadcastReceiver ACTION_TIME_TICK 系统时间监听不到
android BroadcastReceiver ACTION_TIME_TICK 系统时间监听不到 今天做android上的消息推送,启动了一个独立service,然后在里面监听系统的ACTION ...
- Android BroadcastReceiver 简介
Android BroadcastReceiver 简介 在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver 活动(A ...
- 4、android BroadcastReceiver详细用法
BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播. 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这 ...
- android BroadcastReceiver
AndroidManifast.xml <?xml version="1.0" encoding="utf-8"?> <manifest xm ...
- Android BroadcastReceiver广播接受者
静态注册 配置清单表注册:只要曾经注册过哪怕关闭也能调用 方式一:sendBroadCastReceive 广播的步骤: 发送 无序广播,普通广播 (1).发送方 ...
- Android BroadcastReceiver实时监听电量
Android系统中实时的监听手机电量以及开机启动功能都是通过BroadcastReceiver组件实现的.我们可以动态注册这个类的一个实例通过 Context.registerReceiver()方 ...
- Android BroadcastReceiver实例Demo(有序广播的发送)
上一篇简介了广播的发送,这篇主要介绍下,有序广播的发送. 设置完相关属性的时候,广播就会依照有序的方式进行发送: 发送顺序: 先发送第二条广播: 再发送第一条广播: 最后发送第三条广播. 代码例如以下 ...
- Android BroadcastReceiver 接收收到短信的广播
一.知识介绍 1.broadcastReceiver是广播接受者,四大组件之一. 2.Android中内置了很多系统级别的广播,可以在应用程序中得到各种系统的状态信息. 3.使用场景: ①当手机没有电 ...
- android BroadcastReceiver组件简单的使用
1.清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=& ...
- Android BroadcastReceiver解析
目录 示意图 1. 定义 即 广播,是一个全局的监听器,属于Android四大组件之一 Android 广播分为两个角色:广播发送者.广播接收者 2. 作用 监听 / 接收 应用 App 发出的广 ...
随机推荐
- c++ 计算器 带括号 代码实现
我用了两个栈 一个用来存数字 一个用来存运算符 这里引入优先度的概念便于理解 不同的运算符有不同的优先度 当优先度高的符号进入栈中 所有比它优先度低的符号都要弹出 对 就是这么霸道 ( 没有优先度 没 ...
- react+redux状态管理实现排序 合并多个reducer文件
这个demo只有一个reducer 所以合并reducer这个demo用不到 ,但是我写出来这样大家以后可以用到,很好用,管理多个reducer,因为只要用到redux就不会只有一个reducer所以 ...
- PHP.26-TP框架商城应用实例-后台3-商品修改、删除
商品修改{修改页一般与添加页有百分之九十的相似度} create($_POST,Model::MODEL_UPDATE):系统内置的数据操作包括Model::MODEL_INSERT(或者1)和Mod ...
- React-router4简约教程
React-router4简约教程 教程 webEmmet 17年10月 React-router和React-router-dom的选择 很多刚使用react的同学在接触到react ...
- Android学习记录(5)—在java中学习多线程下载之断点续传②
在上一节中我们学习了在java中学习多线程下载的基本原理和基本用法,我们并没有讲多线程的断点续传,那么这一节我们就接着上一节来讲断点续传,断点续传的重要性不言而喻,可以不用重复下载,也可以节省时间,实 ...
- 转载: keepalived工作原理和配置说明
转自:http://outofmemory.cn/wiki/keepalived-configuration keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件, ...
- 《Cracking the Coding Interview》——第6章:智力题——题目1
2014-03-19 06:40 题目:有20瓶药,其中19瓶装的都是1.0克的药片,只有1瓶装了1.1克的药.给你一个能称出具体克数的电子秤,只允许你称一次,怎么找出那瓶不一样的? 解法:如果药片管 ...
- SELECTORS模块实现并发简单版FTP
环境:windows, python 3.5功能:使用SELECTORS模块实现并发简单版FTP允许多用户并发上传下载文件 结构:ftp_client ---| bin ---| start_clie ...
- Mac 电脑鼠标和触摸板滚动方向不一致的问题【已解决】
当我们使用鼠标连接到 MacBook 时,会发现无论怎么设置,鼠标和触摸板的滚动方向都是相反的,导致不能同时使用鼠标和触摸板 解决方法: 我安装了下面的程序,它只允许您反转鼠标的滚动行为: Scrol ...
- [译]在python中如何有效的比较两个无序的列表是否包含完全同样的元素(不是set)?
原文来源: https://stackoverflow.com/questions/7828867/how-to-efficiently-compare-two-unordered-lists-not ...