首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

17 个必须掌握的 BroadcastReceiver 知识点「建议收藏」

1.5 在 Mainfest 和代码如何注册和使用 BroadcastReceiver ?..., 意图添加消息内容, 意图设置 action( … ) 要匹配 , 然后发送广播即可....如果在接收者注册完成前发送了多条相同 Action 的粘性广播,注册完成后只会收到一条该 Action 的广播,并且消息内容是最后一次广播内容。 系统网络状态的改变发送的广播就是粘性广播。...LocalBroadcastManager 高效的原因主要是因为它内部是通过 Handler 实现的,它的 sendBroadcast() 方法含义并非和我们平时所用的一样,它的 sendBroadcast...相比在系统内发送全局广播,它更高效。 1.10 如何让自己的广播只让指定的 app 接收? 在发送广播的 app 端,自定义定义权限, 那么想要接收的另外 app 端必须声明权限才能收到.

1.7K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android点将台:传令官(使用级)

    个人所有文章整理在此篇,将陆续更新收录:知无涯,行者之路莫言终(我的编程之路) 零、前言 1.本文的知识点 1).BroadcastReceiver`静态`使用 2).BroadcastReceiver...AndroidManifest.xml中配置意图过滤器来匹配 关于intent的相关知识,见前一篇,这里不做解释 1.写一个类继承自BroadcastReceiver /** * 作者:张风捷特烈...感觉从上面来看,BroadcastReceiver的onReceive确实耦合性非常低 外部只需要用intent和context.sendBroadcast就能触发它 但似乎BroadcastReceiver...也没有太大的亮点,作用平平 为了说明他的亮点,现在我们新建一个app:Anotherapp 可以发现在另一个app里也能正常使用这个广播 这就有点意思了,我在A项目中写了一个类,它的方法可以在...B项目中触发 这就是静态广播厉害的地方,也是我第一次接触的跨进程通信 (这说明解耦到一定的境界,就天下与我同,然而我将无处不在,手动滑稽) 二、BroadcastReceiver动态使用 BroadcastReceiver

    12210

    Android四大组件:BroadcastReceiver史上最全面解析

    前言 BroadcastReceiver(广播接收器),属于Android四大组件之一 在Android开发中,BroadcastReceiver的应用场景非常多 今天,我将详细讲解关于BroadcastReceiver...接下来我将一步步介绍如何使用 4.1 自定义广播接收者BroadcastReceiver 继承自BroadcastReceivre基类 必须复写抽象方法onReceive()方法 广播接收器接收到相应广播后...4.3 广播发送者向AMS发送广播 4.3.1 广播的发送 广播是用”意图(Intent)“标识 定义广播的本质:定义广播所具备的“意图(Intent)” 广播发送:广播发送者将此广播的”意图“通过sendBroadcast...总结 相信大家已经非常了解关于BroadcastReceiver的相关知识 接下来,我会继续介绍具体如何在Android中的其他知识,有兴趣可以继续关注Carson_Ho的安卓开发笔记 ---- 请帮顶...因为你的鼓励是我写作的最大动力!

    1.9K10

    Carson带你学Android:手把手教你学会广播组件-BroadcastReceiver

    前言 BroadcastReceiver(广播接收器),属于 Android 四大组件之一 在 Android 开发中,BroadcastReceiver 的应用场景非常多 今天,我将详细讲解关于BroadcastReceiver...使用流程 使用流程如下: 下面,我将一步步介绍如何使用BroadcastReceiver 即上图中的 开发者手动完成部分 5.1 自定义广播接收者BroadcastReceiver 继承BroadcastReceivre...5.2.3 两种注册方式的区别 5.3 广播发送者向AMS发送广播 5.3.1 广播的发送 广播 是 用”意图(Intent)“标识 定义广播的本质 = 定义广播所具备的“意图(Intent)” 广播发送...= 广播发送者 将此广播的“意图(Intent)”通过sendBroadcast()方法发送出去 5.3.2 广播的类型 广播的类型主要分为5类: 普通广播(Normal Broadcast) 系统广播...; 在广播发送和接收时,增设相应权限permission,用于权限验证; 发送广播时指定该广播接收器所在的包名,此广播将只会发送到此包中的App内与之相匹配的有效广播接收器中。

    66510

    【Android 电量优化】电量优化 ( 充电状态获取 | 主动获取充电状态 | 广播接受者监听充电状态 | 被动获取充电状态 | 注册空广播接受者获取历史广播 )

    优化电池续航时间 一、获取充电状态 ---- 在应用中执行某些操作 , 如软件云端备份 , 从服务器端获取最新版本号 , 从服务器端缓存最新软件安装包 , 固件版本 , 等操作 , 最好都在充电状态 , 那么如何获取充电状态呢...方法 , 设置 BroadcastReceiver receiver 广播接收者参数为空 , IntentFilter 就是上述创建的意图过滤器 ; Intent intent = context.registerReceiver...IntentFilter 中的 action 匹配到相应的广播时 , BroadcastReceiver 会被在主线程调用 ; ③ 历史广播保存 : 系统发送完毕的广播 , 会被保存下来 , 在后续注册时发送...; ④ 广播复用机制 : 一旦有广播接收者注册广播 , 如果之前发送完毕的广播与本次注册的 IntentFilter 意图的 Action 匹配 , 次函数就会返回一个 Intent , 这个 Intent...(null, intentFilter) 注册空广播接收者 , 返回值就是之前发送过的 Intent.ACTION_BATTERY_CHANGED 广播 , 可以从该广播中获取对应的充电状态变化数据 ;

    2.5K00

    安卓四大组件面试题_android常见面试题

    大家好,又见面了,我是你们的朋友全栈君。...3、singleTask:如果任务栈中存在该activity实例,则直接使用该实例,将它置于栈顶,而它之上的其他activity纷纷出栈。如果不存在,则创建新的实例。...该模式多用于于其他应用交换的情况,例如闹钟等。 3. BroadcastReceiver 与 LocalBroadcastReceiver 有什么区别?...答:Context,简称上下文,指程序运行的上下文环境。Context是一个抽象类,它允许访问特定于应用程序的资源和类,以及对应用程序级操作的调用,比如启动活动,发送广播和接收意图等。...ContentResolver内容解析者, 用于获取内容提供者提供的数据。 ContentObserver内容监听者,可以监听数据的改变状态。

    59210

    Android 四大组件之BroadcastReceiver

    前言 Hi,大家好,又双见面啦,上一期我们讲了如何使用Activity,肯定有不少小伙伴已经创建了属于自己的FirstActivity,那么这一期我们主要为大家介绍第二个重要组件-BroadcastReceiver...这种形式的 BroadcastReceiver 的生命周期伴随着整个应用。如果这种方式处理的是系统广播,那么不管应用是否在运行,该广播接收器都能接收到该广播。...intent-filter/action ——用于指定此广播接收器将接收的广播类型,本示例中给出的是用于接收网络状态改变时发出的广播。...定义广播的定义本质,实际就是相应广播”意图“的定义过程,然后通过广播发送者通过 sendBroadcast() 方法将此”意图“发送出去。...如:开机启动,网络状态改变,拍照,屏幕关闭与开启,电量不足等等。

    1.5K10

    android开发(十九) BroadcastReceiver应用详解

    下面我们就对BroadcastReceiver逐一地分析和演练,了解和掌握它的各种功能和用法。...在创建完我们的BroadcastReceiver之后,还不能够使它进入工作状态,我们需要为它注册一个指定的广播地址。...二 下面我们就来介绍一下如何为BroadcastReceiver注册广播地址。...上面的例子只是一个接收者来接收广播,如果有多个接收者都注册了相同的广播地址,又会是什么情况呢,能同时接收到同一条广播吗,相互之间会不会有干扰呢?这就涉及到普通广播和有序广播的概念了。...上面就是BroadcastReceiver的介绍,下面我将会举几个常见的例子加深一下大家对广播的理解和应用: 1.开机启动服务 我们经常会有这样的应用场合,比如消息推送服务,需要实现开机启动的功能。

    85520

    意图Intent

    通常这是通过查看意图中的其他信息(操作,数据/类型和类别)并将其与可以处理它的组件匹配来确定的。如果设置了该属性,则不执行评估,并且完全按照原样使用该组件。...当使用隐式意图时,给定这样一个任意的意图,我们需要知道如何处理它。...这是通过的过程中处理的意图的分辨率,其中意图映射到Activity,BroadcastReceiver 或者 Service(或有时两个或两个以上的活动/接收器),其可以处理它。...基于AndroidManifest.xml 文件中提供的意图信息确定适当的组件如下: 该动作,如果有,必须由作为一个它处理组件上市。 如果尚未在意图中提供该类型,则从Intent的数据中检索该类型。...该活动可以查看注释或允许用户编辑它。我们再次支持DEFAULT类别,允许在没有明确指定其组件的情况下启动活动。

    97710

    Android程序后台开启服务,显示通知栏

    ,系统的notification service实现程序后台运行 实现service程序 后台运行,首先要解决几个问题: 如何判断程序是否后台运行?...如何在程序后台运行时去开启服务?   后台进程是指程序对用户不可见的状态,在程序中又该如何去判断呢?其实很简单,我也搜了一些代码,但是都达不到我想要的效果,不如自己动脑。...我是在activity调用destroy后开启服务,广播接收器代码如下: /** * 监听activity的结束 */ private BroadcastReceiver mFinishReceiver...) 该方法的参数分析: argb:LED灯的颜色 onMs:LED灯亮的时间,以毫秒为单位 offMs:LED灯灭的时间,以毫秒为单位 //定义通知栏所显示的内容 setTicker(CharSequence...); 该方法有四个取值,DEFAULT_SOUND(默认的提示音),DEFAULT_VIBRATE(震动),DEFAULT_LIGHTS(灯闪烁),DEFAULT_ALL(拥有全部设置选项) 第四步,

    1.6K20

    四大组件的纽带——Intent

    Intent不仅是封装Android应用程序需要启动某个组件的“意图”,还是应用程序组件之间通信的重要媒介。本节开始来学习Intent的使用。...需要注意的是,使用Intent开启Activity和开启Service只有两个方法,而开启BroadcastReceiver有多个方法。...Activity类中提供了一个startActivity ( Intent intent )方法,该方法专门用于开启Activity,它接收一个Intent参数,这里将构建好的Intent传入该方法即可启动目标...使用这种方式开启的Activity,意图非常明显,因此称之为显式Intent,也叫做显式意图。 02隐式Intent 没有明确指定组件名的Intent称为隐式Intent,又叫隐式意图。...隐式 Intent启动Activity的示意图如下图所示。 ? 在上图中,Activity A 创建包含操作描述的 Intent,并将其传递给 startActivity()。

    1.1K50

    浅谈android Service和BroadCastReceiver

    当用户在发出意图使之销毁时会经历onDestory而bindService方式启动,与Activity绑定的时候,会经历onCreate和onBind,而当Activity被销毁的时候,Service会先调用...另外,有序广播的接收者可以将数据传递给下一个接收者,如:A得到广播后,可以往它的结果对象中存入数据,当广播传给B时,B可以从A的结果对象中得到A存入的数据。 ...BroadcastReceiver一旦结束,此时BroadcastReceiver的所在进程很容易在系统需要内存时被优先杀死,因为它属于空进程(没有任何活动组件的进程)。...如果它的宿主进程被杀死,那么正在工作的子线程也会被杀死。所以采用子线程来解决是不可靠的。 ...-- 发送短信权限 --> 4.简单实例       下面是整合了Service与BroadCastReceiver的一个小例子,主要实现的是,在后台开通一个计数服务,当计数能被5整除时候则广播该数

    2.1K70

    这里有一份BAT大厂Android面试超详细知识点,赶快收藏备战金九银十!

    想必每一个安卓程序员都有追求大厂的决心,但是想要进入大厂,我们需要掌握哪些知识点呢?这里,我为大家梳理了一个整体的知识架构。整体包括Java、Android、算法、网络等。...BroadcastReceiver相关 BroadcastReceiver定义及作用、应用场景 BroadcastReceiver的注册方式,静态方式、动态方式 BroadcastReceiver注册与取消的时机...AIDL的语义 AIDL如何创建 AIDL生成Java文件详细分析 View事件机制相关 View的坐标体系 View滑动的几种方式,使用ScrollTo/ScrollBy、使用动画、改变布局参数 弹性滑动的原理及实现...最后如何才能让我们在面试中对答如流呢? 答案当然是平时在工作或者学习中多提升自身实力的啦,那如何才能正确的学习,有方向的学习呢?有没有免费资料可以借鉴?...好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以去我的主页加一下技术群。

    81330

    android学习笔记----自定义广播和系统广播

    喜欢sendBroadcast(Intent),此方法是异步的;它将在调用结果tReceiver.onRecept()之前返回。 看见BroadcastReceiver有关意图广播的更多信息。...参数 intent Intent:广播的意图;所有符合这一意图的接收者都将收到广播。 receiverPermission String:字符串命名接收方接收广播时必须持有的权限。...系统广播: 广播接收器可以自由的对自己感兴趣的广播进行注册,这样当有相应的广播发出时,广播接收器就能够接收到该广播,并在内部处理相应的逻辑。...onCreate()中的,那么有什么办法可以让程序未启动的情况下就能接收到广播呢,那就是静态注册了。...为什么呢?之前不是都在onCreate()和onDestroy()方法里的来注册和取消广播接收器的吗?

    1.7K20

    Android应用界面开发——BroadcastReceiver(实现基于Service的音乐播放器)

    实现了BroadcastReceiver,接着应该指定该BroadcastReceiver能匹配的Intent,有两种方式: 静态注册: 在AndroidManifest.xml中配置: 它的onReceiver()方法,如果onReceiver()方法不能在10秒内完成,Android就会认为该程序无响应(所以onReceiver()方法中不能进行耗时操作)。...该程序的Activity界面包含一个按钮,用于向外发送广播。...接收到 sendBroadcast(intent); } } ActivityReceiver()用于响应后台Service所发出的广播,该程序将会根据广播Intent里的消息来改变播放状态...,并根据广播的消息内容改变Service的播放状态,当播放状态改变时,该Service对外发送一条广播,广播消息将会被前台Activity接收,前台Activity将会根据广播消息更新界面。

    1.6K20

    安卓应用安全指南 4.2.3 创建使用广播接收器 高级话题

    ,取决于该接收器的意图过滤器的存在与否 [6]。...当应用 A 广播隐式意图时,不仅是相同应用中的私有接收器,而且具有相同意图过滤器定义的公共接收器(B-1)也可以接收意图。 (图中的红色箭头标记)。...这是基于这样一个事实,即系统发送的广播意图可以通过exported="false"来接收。 如果其他应用发送的意图的ACTION与系统发送的广播意图相同,则可能会通过接收它而导致意外行为。...但是,如果在发送广播时设置了Intent.FLAG_INCLUDE_STOPPED_PACKAGES标志,则即使是尚未第一次启动的应用也会收到该广播。.../ org.jssec.android.broadcastreceiver.creating.CreatingType3Receiver 接收方的缺少权限的错误: W/ActivityManager(275

    1K10
    领券