使用极光/友盟推送,APP进程杀死后为何收不到推送(转)

为何会存在这样的 问题,刚开始的时候我也搞不清楚,以前用极光的时候杀死程序后也会收到推送,但最近从新再去集成时就彻底很差使了,这我就纳闷了,虽然Google在高版本上的android上面不建议线程守护,因此将进程有关的Service都杀掉了,但旧版本仍是有这个功能的啊 !真尼玛,后来猜想估计是由于要适配6.0因此低版本的一些代码就删除了,形成低版本的也不行了,接下来分析一下这个问题。android

首先咱们把Android分为两类机型,一种是原生态的Android系统,好比Nexus,三星等机型,一种是深度定制的(固然不是全部定制机型都存在你说的问题),好比小米,魅族。 咱们分开来讨论:

1. 原生态系统:
App不打开,能够收到消息。 这个无论是老版SDK,仍是新版本SDK,都是这样的,在三星部分手机上能够。

2. 深度定制系统(目前有MIUI,魅族):
仍然分两种状况来讲明这个问题:
2.1 .1 友盟上来讲设备上有集成友盟消息推送的其它App已经打开(要求SDK版本是2.2.0以上),你的App不打开,也能收到消息。 你能够尝试在你的设备上安装咱们的Demo,以及大家的App,打开友盟demo,不打开大家的App,给大家的App发通知,是能收到的。
2.1.2  设备上全部集成友盟推送SDK的App都没有打开,那么就收不到消息。安全

2.2.1  极光的原理也大概是经过服务保持和服务器端的长链接,进行心跳检测,进行消息数据的传递的服务器

 

3. 解决方案
仍然分两种状况来讲明这个问题:
3.1  目前来讲友盟及极光等都没有解决这样的问题,确实在用户不给权限的状况下,很难处理。网络

3.2  在集成友盟/极光的基础上集成小米推送、华为推送。
3.3  在小米、华为、oppo等手机上若是想让APP杀死后还收到推送的话,只能让用户手动操做,如下是在极光看到的一些步骤:性能

因为第三方 ROM 的管理软件须要用户手动操做.net

 

  • 小米【MIUI】线程

    • 自启动管理:须要把应用加到【自启动管理】列表,不然杀进程或从新开机后进程没法开启
    • 通知栏设置:应用默认都是显示通知栏通知,若是关闭,则收到通知也不会提示
    • 网络助手:能够手动禁止已安装的第三方程序访问2G/3G和WIFI的网络和设置之后新安装程序是否容许访问2G/3G和WIFI的网络
    • MIUI 7 神隐模式: 容许应用进行自定义配置模式,应用在后台保持联网可用,不然应用进入后台时,应用没法正常接收消息。【设置】下电量和性能中【神隐模式】
  • 华为【Emotion】blog

    • 自启动管理:须要把应用加到【自启动管理】列表,不然杀进程或从新开机后进程不会开启,只能手动开启应用
    • 后台应用保护:须要手动把应用加到此列表,不然设备进入睡眠后会自动杀掉应用进程,只有手动开启应用才能恢复运行
    • 通知管理:应用状态有三种:提示、容许、禁止。禁止应用则通知栏不会有任何提醒
  • 魅族【Flyme】进程

    • 自启动管理:须要把应用加到【自启动管理】列表,不然杀进程或从新开机后进程没法开启
    • 通知栏推送:关闭应用通知则收到消息不会有任何展现
    • 省电管理: 安全中内心设置省电模式,在【待机耗电管理】中容许应用待机时,保持容许,不然手机休眠或者应用闲置一段时间,没法正常接收消息。
  • VIVO【Funtouch OS】内存

    • 内存一键清理:须要将应用加入【白名单】列表,不然系统自带的“一键加速”,会杀掉进程
    • 自启动管理:须要将应用加入“i管家”中的【自启动管理】列表,不然重启手机后进程不会自启。但强制手动杀进程,即便加了这个列表中,后续进程也没法自启动。
  • OPPO【ColorOS】

    • 冻结应用管理:须要将应用加入纯净后台,不然锁屏状态下没法及时收到消息
    • 自启动管理:将应用加入【自启动管理】列表的同时,还须要到设置-应用程序-正在运行里锁定应用进程,不然杀进程或者开机后进程不会开启,只能手动开启应用

 

今本人亲自尝试,按照上列步骤在对应的手机中开启权限,即便APP杀死也能收到推送,但这种方案太很差了,只能期待第三方尽快解决。

 

原文地址:http://blog.csdn.net/u013776057/article/details/51671490

相关文章
相关标签/搜索