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的更多相关文章

  1. ANDROID培训准备资料之四大组件的简单介绍

    Android四大组件是一个android app 最基本的组成部分,这篇博客主要给大家简单的介绍一下四种组件 (1)Activities (2)Services (3)BroadcastReceiv ...

  2. Android培训准备资料之UI一些相似控件和控件一些相似属性之间的区别

    这一篇博客主要收集五大布局中的一些相似控件和控件一些相似属性之间的区别 ImageView ImageButton Button 三者有啥区别? (1)Button继承自TextView,ImageV ...

  3. Android培训准备资料之五大布局简单介绍

    本篇博客主要简单的给大家介绍一下Android五大布局 (1)LinearLayout(线性布局) (2)RelativeLayout(相对布局) (3)FrameLayout(帧布局) (4)Abs ...

  4. ANDROID培训准备资料之项目结构简单介绍

    Android Studio项目结构初步主要介绍下面几个文件夹,后续再补充 (1)java文件夹的介绍 (2)Res文件夹的介绍 (3)R文件的介绍 (4)Manifests文件夹的介绍 我们先看看整 ...

  5. Android培训准备资料之Android开发环境的搭建

    Android开发环境的搭建主要分为以下四步: (1)下载JDK并安装 (2)配置JDK环境变量 (3)下载安装Android Studio (4)配置Android SDK环境变量(可执行可不执行) ...

  6. Android 培训准备资料之project与module的区别(1)

    project和module的区别? 现在我们来看看在Android studio中怎样新建一个project (1)file->new->new project. Application ...

  7. ANDROID培训准备资料之Service

    在讨论Service 之前,我们需要了解两点,非常重要的两点 (1)     Service 不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中 (2)     Service也不 ...

  8. android培训机构排名

    Android开发行业的热度打开了Android培训领域的市场,我们会发现有很多的Android培训机构都在大势宣传自己的师资.就业情况.教学环境等 ,然而到底要选择哪个呢?令很多的人困惑.2015年 ...

  9. Android四大组件之BroadcastReceiver

    什么是BroadcastReceiver? BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播. 在Android系统中,广播体现在方方面面, ...

随机推荐

  1. MySQL事务。

    相关资料:https://zhuanlan.zhihu.com/p/70701037        https://zhuanlan.zhihu.com/p/59061106 一.事务. 1.概念.事 ...

  2. mssql sqlserver sql脚本自动遍历重复生成指定表记录

    摘要: 今天接到老板的需求,需根据一张表中列值,自动重复表中的数据行,然后显示给用户 实验环境:sqlserver 2008 R2 转自:http://www.maomao365.com/?p=841 ...

  3. Python—函数进阶篇

    lambda表达式(匿名函数表达式) 作用:创建一个匿名函数对象.同def类似,但不提供函数名. 语法:lambda [形参1,形参2,...] : 表达式 语法说明 lambda 只是一个表达式,它 ...

  4. apicloud含有微信支付。支付宝支付和苹果内购的代码

    apicloud含有微信支付.支付宝支付和苹果内购的代码 <!DOCTYPE html> <html> <head> <meta charset=" ...

  5. Python控制流程

    if  elif    else的用法 三目运算符的用法 while 和 for 两种循环 break 和 continue 的用法 条件判断 if elif else if 和 elif 后面填的判 ...

  6. vue+node+elementUI实现注册功能

    后端代码 在后端的文件 routes文件夹下的connect.js文件中 // 引入mysql const mysql = require('mysql'); // 创建连接对象 const conn ...

  7. 1. Git初始

    一.Git初始 1. 定义 ​ 分布式的版本控制系统,在每个使用者电脑上就有一个完整的数据仓库,没有网络依然可以使用Git.当然为了习惯及团队协作,会将本地数据同步到Git服务器或者GitHub等代码 ...

  8. python3.5.3rc1学习十一:字典与模块

    #os模块import oscurDir = os.getcwd()print(curDir) os.mkdir("新建") import timetime.sleep(2)os. ...

  9. 判断101-200之间有多少个素数,并输出所有素数,方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

    <?php$sum=0;for($i=101;$i<=200;$i++){    for($j=2;$j<=sqrt($i);$j++)    {       if($i%$j==0 ...

  10. Python进阶-XVV hashlib模块、configparse模块、logging模块

    1.配置相关的configparse模块 配置文件如何组织?python中常见的是将配置文件写成py,然后引入该模块即可.优点是方便访问. 但是也有用类似windows中的ini文件的配置文件,了解即 ...