ANDROID培训准备资料之BroadcastReceiver
BroacastReceiver的启动方式?
(1) 创建需要启动的BroadcastReceiver的Intent。
(2) 调用context的sendBroadcast()或者sendOrderBroadcast()方法来启动制定的BroadcastReceiver。
BroadcastReceiver的生命周期?
(1) BroadcastReceiver本质上只是一个系统级别的监听器,它专门负责监听各程序所发出的Broadcast
(2) 每次系统Boradcast的事件发生后,系统就会创建对应的BroadcastReceiver的实例,并且触发它的onReceive()方法,onReceive()方法执行完毕之后,BroadcastReceiver的实例就会销毁
(3) 如果BroadcastReceiver的onReceiver()方法不能再10秒之内执行完成,Android会认为该程序无响应。
怎样指定broadcastReceiver能匹配的Intent
(1) 使用代码进行指定,调用BroadcastReceiver的context的registerReceiver(BroadcastReceiver receiver,InterFilter filter)方法指定。例如
IntenFilter filter=new IntentFilter(“”keranbin);
KeranbinReceiver receiver=new KeranbinReceiver();
registerReceiver(receiver,filter);
(2)在AndroidManifest.xml文件中配置。例如
<receiver android:name=.KeranbinReceiver>
<intent-filter>
<action android:name=”keranbin”/>
</intent-filter>
</receiver>
广播的种类?
(1) Normal Broadcast(普通广播),异步的广播,可以在同一时刻被所有的接收者接收到,消息传递效率比较高,但是接收者无法将结果传递给下一个接收者,而且无法终止广播,启动方式为sendBroadcast();
(2) Ordered Broadcast(有序广播),接收者会按优先级别依次接收广播,优先级别声明在<intent-filter……./>中或者IntentFilter.setPriority(),取值范围为-1000~1000,数字越大,级别越高,虽然有序广播的接收效率相对来说不如普通广播,但是有序广播可以在结果对象中存入数据(setResultExtras(Bundle))并将结果传递给下一个接收者,而且还可以通过abortBroadcast()终止广播。
BroacastReceiver的启动方式?
(1) 创建需要启动的BroadcastReceiver的Intent。
(2) 调用context的sendBroadcast()或者sendOrderBroadcast()方法来启动制定的BroadcastReceiver。
BroadcastReceiver的生命周期?
(1) BroadcastReceiver本质上只是一个系统级别的监听器,它专门负责监听各程序所发出的Broadcast
(2) 每次系统Boradcast的事件发生后,系统就会创建对应的BroadcastReceiver的实例,并且触发它的onReceive()方法,onReceive()方法执行完毕之后,BroadcastReceiver的实例就会销毁
(3) 如果BroadcastReceiver的onReceiver()方法不能再10秒之内执行完成,Android会认为该程序无响应。
怎样指定broadcastReceiver能匹配的Intent
(1) 使用代码进行指定,调用BroadcastReceiver的context的registerReceiver(BroadcastReceiver receiver,InterFilter filter)方法指定。例如
IntenFilter filter=new IntentFilter(“”keranbin);
KeranbinReceiver receiver=new KeranbinReceiver();
registerReceiver(receiver,filter);
(2)在AndroidManifest.xml文件中配置。例如
<receiver android:name=.KeranbinReceiver>
<intent-filter>
<action android:name=”keranbin”/>
</intent-filter>
</receiver>
广播的种类?
(1) Normal Broadcast(普通广播),异步的广播,可以在同一时刻被所有的接收者接收到,消息传递效率比较高,但是接收者无法将结果传递给下一个接收者,而且无法终止广播,启动方式为sendBroadcast();
(2) Ordered Broadcast(有序广播),接收者会按优先级别依次接收广播,优先级别声明在<intent-filter……./>中或者IntentFilter.setPriority(),取值范围为-1000~1000,数字越大,级别越高,虽然有序广播的接收效率相对来说不如普通广播,但是有序广播可以在结果对象中存入数据(setResultExtras(Bundle))并将结果传递给下一个接收者,而且还可以通过abortBroadcast()终止广播,启动方式为sendOrderedBroadcast()
ANDROID培训准备资料之BroadcastReceiver的更多相关文章
- ANDROID培训准备资料之四大组件的简单介绍
Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件 (1)Activities (2)Services (3)BroadcastReceiv ...
- Android培训准备资料之UI一些相似控件和控件一些相似属性之间的区别
这一篇博客主要收集五大布局中的一些相似控件和控件一些相似属性之间的区别 ImageView ImageButton Button 三者有啥区别? (1)Button继承自TextView,ImageV ...
- Android培训准备资料之五大布局简单介绍
本篇博客主要简单的给大家介绍一下Android五大布局 (1)LinearLayout(线性布局) (2)RelativeLayout(相对布局) (3)FrameLayout(帧布局) (4)Abs ...
- ANDROID培训准备资料之项目结构简单介绍
Android Studio项目结构初步主要介绍下面几个文件夹,后续再补充 (1)java文件夹的介绍 (2)Res文件夹的介绍 (3)R文件的介绍 (4)Manifests文件夹的介绍 我们先看看整 ...
- Android培训准备资料之Android开发环境的搭建
Android开发环境的搭建主要分为以下四步: (1)下载JDK并安装 (2)配置JDK环境变量 (3)下载安装Android Studio (4)配置Android SDK环境变量(可执行可不执行) ...
- Android 培训准备资料之project与module的区别(1)
project和module的区别? 现在我们来看看在Android studio中怎样新建一个project (1)file->new->new project. Application ...
- ANDROID培训准备资料之Service
在讨论Service 之前,我们需要了解两点,非常重要的两点 (1) Service 不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中 (2) Service也不 ...
- android培训机构排名
Android开发行业的热度打开了Android培训领域的市场,我们会发现有很多的Android培训机构都在大势宣传自己的师资.就业情况.教学环境等 ,然而到底要选择哪个呢?令很多的人困惑.2015年 ...
- Android四大组件之BroadcastReceiver
什么是BroadcastReceiver? BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播. 在Android系统中,广播体现在方方面面, ...
随机推荐
- gradle 参数配置监听
说明 gradle提供了对project状态配置监听的接口回调,以方便我们来配置一些Project的配置属性,监听主要分为两大类,一种是通过project进行 回调,一种是通过gradle进行回调,作 ...
- 一文解读DDD (转)
从遇到问题开始 当人们要做一个软件系统时,一般总是因为遇到了什么问题,然后希望通过一个软件系统来解决. 比如,我是一家企业,然后我觉得我现在线下销售自己的产品还不够,我希望能够在线上也能销售自己的产品 ...
- Saltstack_使用指南10_配置管理-状态模块
1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...
- input:file样式怎样修改
问题描述: 我需要点击input:file来修改img中的图片,但是input:file样式太丑 解决办法: 给file设置透明度为0,让用户看不见他 创建新的button按钮 修改button按钮样 ...
- HTML简介 页面标记
HTML简介 HTML 1.0 : 1993年 HTML 2.0 : 1995年 HTML 3.2 : 1997年 HTML 4.01 : 1999年 HTML 5 : 2008年 XML:可扩展标 ...
- Jupyter notebook and Octave kernel installation
Jupyter notebook 安装 为了更加方便地写 Python 代码,还需要安装 Jupyter notebook. 利用 pip 安装 Jupyter notebook. 为什么要使用 Ju ...
- [C5] Andrew Ng - Structuring Machine Learning Projects
About this Course You will learn how to build a successful machine learning project. If you aspire t ...
- ICCV
ICCV 简介 ICCV 的全称是 IEEE International Conference on Computer Vision,即国际计算机视觉大会,由IEEE主办,与计算机视觉模式识别会议(C ...
- Python str & repr
Python str & repr repr 更多是用来配合 eval 的 (<- 点击查看),str 更多是用来转换成字符串格式的 str() & repr() str() 和 ...
- Bliss OS 12.1下载 PC上Android10体验
下载也不是一帆风顺啊 这是设计者的secret: https://forum.xda-developers.com/android/software/bliss-os-x86-pc-s-12-x-de ...