Android应用保活分析

应用保活:


1.


Android 的前台service机制。但该机制的缺陷是通知栏保留了图标。

对于 API level < 18 :调用startForeground(ID, new Notification()),发送空的Notification ,图标则不会显示。

对于 API level >= 18:在需要提优先级的service A启动一个InnerService,两个服务同时startForeground,且绑定同样的 ID。Stop 掉InnerService ,这样通知栏图标即被移除。


2.1像素悬浮窗,很多手机默认禁止了这个权限(比如小米)

  华为,oppo手机上面。用户从app返回到桌面,会提示  禁止了xx处于屏幕上。   


3.


Service保活:

1.广播监听,启动Service。 开机,网络变化,解锁

2.Service的OnDestory添加启动方法

3.Service

@Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;//如果service进程被kill掉,随后系统会尝试重新创建service
    }

4.




测试发现,在三星手机上面,有个自动运行。我把自己的程序包名改成  com.tencent.mm 和微信一样,安装的时候,自动运行默认打开!!!

看来三星系统,对微信,QQ这些包名做了特殊处理!

其他手机,可能也有类似处理!









在小米、华为、oppo等手机上如果想让APP杀死后还收到推送的话,只能让用户手动操作,以下是在极光看到的一些步骤:

由于第三方 ROM 的管理软件需要用户手动操作

 

推送成功了,为什么有部分客户端收不到推送?

请检查收不到通知的手机:

  • 请在logcat查看日志,确定客户端的jpush是否集成成功,网络是否有问题
  • 请看日志或使用接口 isPushStopped来检查是否调用了stoppush
  • 检查手机的JPush高级设置中是否设置了“允许推送时间”
  • 手机的应用中是否勾选了“显示通知”


第三方系统收不到推送的消息

由于第三方 ROM 的管理软件需要用户手动操作

  • 小米【MIUI】

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

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

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

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

    • 冻结应用管理:需要将应用加入纯净后台,否则锁屏状态下无法及时收到消息
    • 自启动管理:将应用加入【自启动管理】列表的同时,还需要到设置-应用程序-正在运行里锁定应用进程,否则杀进程或者开机后进程不会开启,只能手动开启应用
  • 三星
    • 内存一键优化:需要将应用加入【白名单】列表,否则系统内存优化后,会杀掉应用进程

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


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值