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

Android应用保活全攻略:30个实用技巧助你突破后台限制

在Android系统中,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...适配Doze模式和App Standby 从Android 6.0(API级别23)开始,系统引入了Doze模式和App Standby,以优化设备的电池使用。...使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送的应用,可以使用Firebase Cloud Messaging(FCM)服务。...FCM是一种跨平台的消息推送服务,可以实现高效且可靠的消息传递。通过使用FCM,你可以确保应用在后台时接收到实时消息,而无需采取过多的保活手段。 18....当收到新的通知时,检查应用进程是否存活,如果已经被杀死,则重新启动应用。这种方法可以利用系统通知的变化来触发应用的启动,从而提高应用在后台的存活率。

1.7K21

React Native推送通知:完整的操作指南

例如: 使公司能够以较低的成本推广产品和优惠 提升整体用户体验 可以更快地提供交易收据 转化更多用户 可靠的,因为用户在打开手机时总是会收到离线消息 这些优势使得推送通知对几乎所有类型的移动应用都非常有用...原生平台特定的通知服务(FCM/APNs) Android和iOS平台都提供了用于接收推送通知的原生平台特定API 适用于安卓设备的Firebase云消息传递(FCM) 苹果推送通知服务(APNs)适用于...以下代码片段会在你的前台应用通过Expo推送通知系统接收到通知时,记录一个特定的通知对象: // ---- // ---- Notifications.setNotificationHandler({...请注意,在这里,我没有设置 FCM 就收到了我的 Android 设备的通知,因为我在使用 Expo 应用进行开发。...后台通知 感谢 Notifee,我们甚至可以创建后台通知,即使应用程序关闭,也可以发送。这适用于我们想要发送一个无声通知的情况,无论应用程序是否打开,例如文本消息或已完成的下载,都需要发送。

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

    Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

    但Android P官方公开的开发者资料来看,此版加入或强化的多项设备电量管理新特性,使得需要后台消息推送、应用保活的APP变的越来越困难,黑科技恐将成为历史。...以消息推送为例,当APP处于后台或关闭时,消息推送对于某些应用来说非常有用,比如: 1)IM即时通讯聊天应用:聊天消息通知、音视频聊天呼叫等,典型代表有:微信、QQ、易信、米聊、钉钉、Whatsup、...3、针对以往Android版本的各种保活技术回顾 搞Android端IM和消息推送服务的开发者都知道,Android P之前为了搞定客户的投诉:“为什么微信能收到消息而你们的IM却不能?”...Android P中针对省是管理方面的改进,只会使得搞后台保活、消息推送越来越麻烦,作为Android开发者来说,了解这些新特性至少能让自已心里有底,从而在技术上做到有的放矢。...消息推送:GCM、XMPP、MQTT三种方案的优劣》 《移动端实时消息推送技术浅析》 《扫盲贴:浅谈iOS和Android后台实时消息推送的原理和区别》 《绝对干货:基于Netty实现海量接入的推送服务技术要点

    3.9K30

    使用 FCM 通知您的用户

    例如,普通优先级 FCM 数据消息的常见用例是告诉应用有新内容准备同步,但这一操作无需用户交互。...应用的 jobs 和 alarmas 可能被延迟,且访问网络的功能可能被限制。 因此,为确保及时传递通知,应始终在收到 FCM 消息后立即显示通知,然后再进行网络获取或调度任务等其他工作。...Android 9 Pie 也会在开启省电模式时强制限制后台执行。当使用普通优先级的 FCM 消息时,启动后台服务会导致 IllegalStateException。...如果应用处于受限状态,FCM 消息则根本不会被传递至应用。这对高优先级和普通优先级 FCM 消息均适用,且无论应用处于前台还是后台。 应用待机分组根据应用所在的分组实施不同程度的限制。...总之,应仅在传递时效性强的通知给用户时,才使用高优先级 FCM 消息。这样可以确保这些消息和后续的高优先级消息能够及时送达用户且不被降级。

    3.5K30

    FCM---Android系统级推送---你还在用第三方推送?

    生命周期流程 下面是FCM的主要过程: Enabling FCM:运行在手机上注册了来接收消息的Android程序。 Sending a message:发送消息到手机的第三方程序服务器。...如果您希望在后台进行接收应用通知之外的任何消息处理,则必须添加此服务。要在前台应用中接收通知、接收数据负载以及发送上游消息等,您必须扩展此服务。...通过替换 FirebaseMessagingService.onMessageReceived 方法,您可以根据收到的消息执行操作,并获取消息数据: ?...对于在后台运行的应用,消息由下列回调处理: 1、iOS 上的 didReceiveRemoteNotification: 2、Android 上的 onMessageReceived()。...当应用在前台的时候,消息到来的时候会响应onMessageReceived函数,你就可以在里面想怎么处理就怎么处理了。

    12.9K30

    uni-app 如何实现消息推送功能?

    国内Android的Push是一个混乱的世界,因为Google的Push服务FCM 被墙(从HBuilderX2.7.10开始,支持谷歌FCM,参考: UniPush支持谷歌推送FCM配置指南),所以一些国内的安卓手机厂商各自做了自己的推送...在线推送 app 在前台打开运行时,通过个推渠道下发消息。 离线推送 app在后台、锁屏、进程关闭时,通过厂商渠道下发消息。...Android包名或iOS Bundle ID必须与打包时配置的一致,否则可能会导致无法收到推送消息。...Android平台: Android包名必须与HBuilderX中App云端打包时配置的Android包名一致;Android应用签名必须填入打包时使用证书的SHA1指纹。...离线】收到消息,但没有提醒(发生在一次收到多个离线消息时,只有一个有提醒,但其他的没有提醒) //【APP在线】收到消息,不会触发系统消息,需要创建本地消息,但不能重复创建 /

    5.9K22

    集成推送那点事-友盟Mob-FlutterFCM

    pushAgent.notificationPlayVibrate = MsgConstant.NOTIFICATION_PLAY_SDK_ENABLE // 通知免打扰 SDK默认在“23:00”到“7:00”之间收到通知消息时不响铃...} 很多时候我们都希望,即使用户当前未使用 App,或者说当前的 App 处于被杀死的状态,后台推送消息依然想被前台接收。...3.3 FCM 消息处理 在 app build 中完善下依赖: // FCM implementation 'com.google.firebase:firebase-analytics:17.4.4..." android:value="false" /> 到此,FCM 完毕~ 四、Flutter Android 集成 - Mob 此模块在厂商相关信息完善时,集成仅仅几分钟~ 相对于 Flutter...,蛮简单的,这里说下几个点吧: 由于项目需求设置以用户名为别名,所以也涉及到了添加别名这个操作,而在这里则是本地维护了一个状态,避免多次设置重复别名; 其次需求是接收到消息推送执行刷新操作,所以我在这里直接接收到推送消息后通过

    11.5K41

    Android P 电量管理

    系统对常用分组采用的限制更强,应用运行任务(job)和触发闹铃的能力都会受到影响,而且接受的高优先性FCM消息也有数量上限,详情请查阅《附件:电量管理限制》。...该群组下的应用在任务 (job)、闹铃和高优先性FCM消息的资源调用上都会受到严格的限制。此外,网络访问能力也会受到影响。详情请阅读《附件:电量管理限制》。...如果您错误的将没有与用户进行互动的 FCM 消息设置为高优先级,这种标记不当的行为可能会导致其他不良后果,比如:在应用耗尽高优先级消息额度之后,系统会把真正紧急的 FCM 消息当做“普通优先级”消息来处理...后台限制 当系统监测到应用消耗过多资源时,系统会通知并询问用户是否需要限制该应用的后台活动。...进一步信息,请查阅《对低耗电模式和应用待机模式进行针对性优化》。 测试和错误排查 新的电量管理特性会影响在 Android P 上运行的所有应用,不论应用是否以 Android P 为目标平台开发。

    2.1K30

    直播平台建设过程中不可或缺的推送功能

    要想运营好一个直播平台,需要各方各面的工作和技术相结合完成,而消息推送就是直播app中十分重要的一个部分。...Android端 Google最早提供了云推送服务,简称为GCM,后来又推出了新的FCM推送来代替之前的GCM,由于国内的环境并不适用因此各个手机厂商相继推出了各自的推送服务。...推送的原理都是相似的,不过是依赖于设备和推送服务器的长连接,但是厂商推送的优势在于这样的长连接可以和自己的手机系统绑定到一起,不同应用可以共享同一条长连接,既节省了流量的耗费,还免去担心应用内长连接断连导致的消息推送失败...(1)对于ios端来说,应用没办法常驻后台,所以就需要在切换前后台的过程中通过IM长连接发送一个标记位,服务器就会在设备离线或者处于后台的情况下触发APNS推送,减少设备在前台情况下APNS推送的流量消耗...(2)对于Android端来说,服务器会在设备处于离线的情况下触发第三方推送,当设备处于后台时会在收到消息之后主动弹窗以便提醒用户有新消息。

    1.7K00

    谷歌大开“吃”戒的产物,Andriod O全球发布

    后台服务限制:处于空闲状态时,应用可以使用的后台服务存在限制。 这些限制不适用于前台服务,因为前台服务更容易引起用户注意。 广播限制:除了有限的例外情况,应用无法使用清单注册隐式广播。...Android O 还向通知添加了新的视觉效果和分组,从而使用户在收到消息或查看通知栏时更容易看到通知内容。...在 Android O 中,我们默认启用多进程模式,并添加一个 API,以便让您的应用可以处理错误和崩溃,从而增强安全性和提升应用稳定性。...可能的解决方法包括: ①如果处于后台时您的应用需要创建一个前台服务,请使用新的 NotificationManager.startServiceInForeground() 方法,而不是创建一个后台服务...③寻找一种使用计划作业实现服务功能的方式。 如果服务未在执行容易立即被用户注意到的操作,一般情况下,您都能够使用计划作业。 ④发生网络事件时,请使用 FCM 选择性地唤醒您的应用,而不是在后台轮询。

    91420

    APP消息推送方案调研

    透传消息的到达率受Android系统和应用是否驻留在后台影响,推送服务不保证透传消息的高到达率。透传消息的常用场景:好友邀请、VoIP呼叫、语音播报等。...低功耗推送服务采用了统一消息中心(Notification Center,以下简称NC)的能力,华为终端设备收到通知栏消息时由NC统一展示消息,当用户点击通知栏消息时才会拉起目标应用进程,NC的能力减少了启动应用进程的频率从而降低终端设备的功耗...使用GCM推送服务的whatsapp即使后台程序和服务都关闭掉,也依然可以在第一时间接收到新消息的推送(实测在国内whatsapp也的确可以在后台关闭的情况下正常通过GCM接受实时消息)。...每个需要后台推送的应用有各自的单独后台进程,才能和各自的服务器通讯,交换数据。...和 SMS 轮询(Pull)方式应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,你必须自己实现与服务器之间的通信,例如消息排队等。

    40010

    h5的Notification 、web Push介绍

    发送数据时,数据必须编码(出于安全性考虑)。推送服务器在接收到这样一个请求之后,立即开始监听用户浏览器是否处于在线状态,若是,则将消息推送发送至浏览器。...ajax轮询是通过客户端不断向服务端发送http请求,若有新消息就取回的模式保持数据实时更新,但这种方式需要服务器有很快的处理速度和资源 http长连接是客户端向服务器发送请求后,若服务器没有新数据要发送...FCM官方是这么介绍的: Firebase 云信息传递 (FCM) 是一种跨平台消息传递解决方案,可供您免费、可靠地传递消息。 使用 FCM,您可以通知客户端应用存在可同步的新电子邮件或其他数据。...FCM是一种可靠的消息传递平台,它最大的优点是同一套Push机制可以在IOS/Android/Web三端使用: ?...这个意义是很大的,因为Android的推送一直都比较乱,国内有些APP使用小米的Push服务,有些使用百度的,还有些使用腾讯的信鸽等等,这些Push都需要在后台运行线程,并且不能休眠,这就导致了手机在休眠状态时仍然有很多线程在运行着

    4.8K20

    跟上脚步,进入后台执行新时代

    随着近几年来 Android 的不断发展,Google 逐步加强了对于后台执行的优化和限制。为了开发出现代化的 Android 应用,开发者需要学习如何通过最新方式来管理后台任务。...系统如何判定应用处于后台? 在理解后台执行这个概念之前,我们先来看看 Android 系统是如何定义前台应用的。...比如,当别的前台应用或者系统绑定了该应用的以下服务时,那么该应用处于前台: 输入法 壁纸服务 通知监听器 语音或文本服务 正在车内播放音乐的流媒体应用 (只适用于 Android Auto 车载娱乐系统...为了改善续航表现和用户体验,Android 在版本演进的过程中,针对后台执行进行了不同程度的限制,其中包括: 低耗电模式和应用待机模式: 如果设备未插接电源,处于空闲状态一段时间且屏幕关闭,系统会进入低耗电或者待机模式...您可以阅读《使用 FCM 消息向用户发送通知》,获取更多详情。

    2.6K30

    Android 手记 | Android MobPush 接入小结

    、自定义消息(透传)、本地通知 通知消息、自定义消息(透传)、分组对比 离线厂商通道支持 华为、小米、OPPO、vivo、魅族、华硕、FCM 华为、小米、OPPO、vivo、魅族 华为、小米、魅族、OPPO...而当用户再次打开 App 时,才能收到之前的推送。那么,如果我时隔几天后打开呢?消息的及时性又如何保证呢?当然,什么事情也不是绝对的。 那我们现在配置下华为厂商推送再试试?...其实对于这块,个人理解是:当 Mob 自有通道开启状态,也就是 App 在线时,Mob 后台通过 Mob 自有通道进行消息通知下发。...而如果 Mob 通道被关闭,也就是 App 被杀死,这块我猜测可能是心跳包检测?说实话还真没去了解过。关闭时通过设备对应不同厂商通道进行消息下发。...从而保证了消息下发并不依赖 App 是否存活,比较厂商(系统)通道,肯定不会被干死,从而进一步的保证了 App 的消息接受性。

    2.2K30

    融云技术分享:融云安卓端IM产品的网络链路保活技术实践

    》 《移动端IM实践:WhatsApp、Line、微信的心跳策略分析》 《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》 《全面盘点当前Android后台保活方案的真实运行效果...Android后台保活方案的真实运行效果(截止2019年前)》 6、消息链路保活机制 消息链路作为收发消息的主要通道,需要最大程度保障链路的可用性。...在链路不可用或者异常断开时,能及时探测并启动重连等保障机制。 基于以上特性,消息链路除了前面所说的心跳机制外,还另外维护了两套链路优化机制:复合连接机制和重连机制。...iOS 手机有 APNS 来达到以上效果(详见《了解iOS消息推送一文就够:史上最全iOS Push技术详解》),但安卓的官方推送系统 FCM 在国内基本不可用。...鉴于Android系统对后台进程管控越来越严,保活“黑科技”已经不怎么灵了: 《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》 《全面盘点当前Android后台保活方案的真实运行效果

    3K40

    android Activity漏洞挖掘

    intent 3.有返回数据时不应包含敏感信息 4.不应发送敏感信息 5.当收到返回数据时谨慎处理 组件导出导致钓鱼欺诈 Android为了提高用户的用户体验,对于不同的应用程序之间的切换,基本上是无缝...他们切换的只是一个activity,让切换的到前台显示,另一个应用则被覆盖到后台,不可见。Activity的概念相当于一个与用户交互的界面。...当AMS收到要启动或停止Activity的消息时,它先更新内部记录,在通知相应的进程运行或停止指定的Activity。...跨task启动Activity的intent有可能被其他app读取到;不指定lunchMode默认standard,建议使用默认。创建新task时有可能被其他应用读取intent的内容。...Android应用本地拒绝服务漏洞源于程序没有对Intent.getXXXExtra()获取的异常或者畸形数据处理时没有进行异常捕获,从而导致攻击者可通过向受害者应用发送此类空数据、异常或者畸形数据来达到使该应用

    1.3K30

    Android程序员该如何去手写事件通信方案LiveDataBus

    3.当Activity停止时不会引起崩溃 这是因为组件处于非激活状态时,不会收到LiveData中数据变化的通知。...5.组件和数据相关的内容能实时更新 组件在前台的时候能够实时收到数据改变的通知,这是可以理解的。...当组件从后台到前台来时,LiveData能够将最新的数据通知组件,这两点就保证了组件中和数据相关的内容能够实时更新。...MyData内部实现一个简单的功能,后台运行一个长时的线程任务,该线程实现一个简单功能: (a)如果当前的Activity处于运行(用户可见)状态,则线程任务不断累计计数器并postValue一个值给任何...; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Toast

    1.4K10

    功能测试之app测试要点提取与分析

    关闭; APP设置开关关闭时,客户端接收不到消息推送   手机客户端未锁屏时:   APP应用后台运行.消息推送是否可正常接收,且可以点击查看   APP应用前台使用.可以收到消息提醒.且点击可查看   ...手机客户端锁屏时:消息推送是否正常接收   登录状态   退出登录后 .是否接收push推送(根据需求来)   未登录用户再去登录:批量接收多条消息推送   当push消息是针对登录用户的时候 .需要检查收到的...push与用户身份是否相符,没有错误地将其它人的消息推送过来   消息栏(通知中心)是否可以接收到消息提醒,且点击可查看。...对于离线(无网络)时,刷新获取新数据时,不能获取数据时能给出友好提示   离线下,退出APP再开启APP时能正常浏览本地缓存数据   离线下,切换到主屏幕再切回APP应用时可以正常浏览   离线下,锁屏后再解锁回到应用前台可以正常浏览...免费50款机型;安装、打开app、monkey, 关闭app、卸载 常见面试   web和app测试区别   android app和ios app测试区别----通过不同的系统会导致测试不一样

    2.6K30

    QQ 音乐 Android 吃 Pie 之路

    该群组的应用在运行作业和触发闹钟方面会被施加较强的限制,FCM 消息数量也会有相关限制; 极少使用: 应用如果不经常使用就会被归到该工作群组,系统会对该群组应用运行作业、触发闹钟和接收高优先级别 FCM...的消息能力方面有严格的限制; 从未使用: 安装但从未被使用过的应用会被归到该工作群组,该工作群组的应用会被施加极其严格的限制; 更加详细的表述可以参考官网:App Standby Buckets(https...是多少; 屏幕关闭时,位置服务可能被停用; 后台应用没有网络访问权限; 这里需要重点介绍一下后台执行限制,该限制于 Android O 版本引入,主要是为了优化 Android 在多应用多服务运行时,...目前用户可以通过设置页面对任意应用施加后台执行限制,后台执行限制会对应用有两方面的影响: 后台服务限制: 处于前台(可见、具有前台服务或者关联到前台应用)或临时白名单(处理高优先级 FCM、接收短信等广播或者执行通知的...PendingIntent)时,应用可以自由创建和运行前台与后台服务。

    3.6K120

    Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?

    但愿美元加息早点结束,经济早点好起来~ 上一篇所说内容是所有 App 安装到 Android14 设备上的影响和需要注意的内容,本篇接下来就要介绍当 targetSdkVersion 升级到 34 时...,App 需要注意和修改的地方。...前台服务类型是在 Android10 引入的,通过 android:foregroundServiceType 可以指定 的服务类型,可供选择的前台服务类型有: camera:需要在后台时继续访问摄像头...在用户切换设备时,帮助确保用户消息任务的连续性。...小结:JDK17 虽然会向下兼容,但有空还是升级一下比较好,毕竟有许多新的写法和优化。 2. 安全性 Android14 对安全性也有了更高的要求,这也是近几年来 Google 一直在关注的方向。

    17K30
    领券