美文网首页
利用系统设置,实现后台保活

利用系统设置,实现后台保活

作者: lu_xiukun | 来源:发表于2019-11-06 13:35 被阅读0次

随着android系统和手机厂商的不断完善,后台保活越来越难搞;但总有办法利用一些小技巧可以实现后台保活。

相信你也看了不少关于保活的文章,各种技术五花八门,我这种小菜鸟只能仰望;还有热心大佬把各种技术总结到一块https://github.com/xingda920813/HelloDaemon

公司项目是做VOIP的,每隔50s需要向SIP服务器发送register信息,用户反映熄屏几分钟就接不到电话了,sip服务器已经是unregister状态了,说明熄屏后应用没有在发送register信息。

好了,开始研究。。。

不知道大家有没有用过跑步类应用,这里以keep举例,我在用keep跑步时,听着歌,熄屏后手机装口袋里,本来跑5km,跑到3km时应用被杀死了,后面两公里没有计算上,那我TM还怎么发朋友圈装B?好在Keep有解决方案,引导用户去运动权限设置里开启后台保护设置和防睡眠设置,点击后台保护设置跳转到了应用自启管理

找到办法了,咱们就试一试。。。

通过 adb shell dumpsys activity activities命令,查到自启界面是:com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity(华为荣耀v9);

手动管理 打开 允许后台运行

搞定,测试。。。 home键去后台,锁屏。。。

5分钟。。。没问题

10分钟。。。还在运行

30分钟。。。仍旧在运行

but,电话还是收不到,这又是为什么呢?

怀疑是熄屏后网络断开,锁屏后保持网络连接 也开着呢,因为连得是wifi,就用了wifilock测试下,wifiLock可以在熄屏后持有wifiLock的应用依旧保持网络连接,发现没用。。

到底是不是断网的原因呢? 用TCP测试一下吧,百度TCP,ctrl c +v ,搞定。。至于服务端,使用网络调试助手作为TcpServer,每个5s发送一次

2019-10-29 12:39:47.755]# RECV ASCII FROM >

发送心跳包:3685s

[2019-10-29 12:50:22.226]# RECV ASCII FROM >

发送心跳包:3685s

[2019-10-29 12:51:09.039]# RECV ASCII FROM >

发送心跳包:3690s

[2019-10-29 13:03:47.860]# RECV ASCII FROM >

发送心跳包:3690s

发现熄屏后确实是断了,应该是休眠了,10分钟才发一次这是什么鬼

休眠了,那怎么搞?那就不让他休眠 wakeLock

Intent.ACTION_SCREEN_OFF

Intent.ACTION_SCREEN_ON

这俩个广播大家都熟悉,熄屏,亮屏,熄屏是持有wakeLock,亮屏时release,有点太暴力了。。

没办法,为了解决问题,就这么滴吧

测试。。。又出问题了,红米Note8,能收到来电,但是弹不出接听电话的界面。。。

原来小米有自己独有的权限,允许后台弹出界面的权限,不光小米有,vivo、魅族好像都有,华为暂时没发现。。这个只能应用启动时弹出dialog去引导用户去设置了

好了,到这里就结束了,总结一下就两点

1、引导用户开启允许后台运行

2、锁屏时持有wakeLock,亮屏时释放

如果有后台弹出界面的需求,还需开启相应的权限,判断有没有这个权限的办法,目前只有小米测试的可以,其他手机的没找到;

还有一点就是容易高耗电提醒,不过微信使用中,也会时常有高耗电的提醒,也不用太在意,在意的话就把高耗电提醒关掉。

相关文章

  • 利用系统设置,实现后台保活

    随着android系统和手机厂商的不断完善,后台保活越来越难搞;但总有办法利用一些小技巧可以实现后台保活。 相信你...

  • Android 后台运行白名单,优雅实现保活

    Android 后台运行白名单,优雅实现保活 保活现状 我们知道,Android 系统会存在杀后台进程的情况,并且...

  • 安卓闹钟

    备注:利用系统AlarmManager 管理闹钟,如果需要后台闹钟提示需要servicer保活,不然app杀死还是...

  • 2020 Android后台保活进程

    Android安卓后台运行白名单实现优雅保活(转载) 简书|Android 后台运行白名单,优雅实现保活 知乎|A...

  • iOS app进入后台后 应用保活 后台保活

    iOS app进入后台后 应用保活 后台保活

  • ios后台保活-极简方式

    核心代码仅需要4句,来实现ios后台保活。直接上代码 项目设置中,开启后台服务这里一定要勾选,不然,根本不会进入a...

  • 跨进程通信和进程保活

    一、跨进程通信的几种方式 二、进程保活 1.利用系统广播拉活 2.利用系统service机制拉活 3.利用nati...

  • Android 后台优雅实现保活

    对于保活目前的需求: 对于很多场景用户都需要应用在后台长时间的运行,但是Android系统会存在杀后台进程的...

  • ANDROID进程保活

    参考资料 安卓保活大全 保活手段 Android闹钟设置的解决方案 背景 随着Android系统的不断升级以及各大...

  • iOS后台保活

    iOS后台保活按时间可分为短时保活和长时间保活 短时保活的方式通过beginBackgroundTaskWithN...

网友评论

      本文标题:利用系统设置,实现后台保活

      本文链接:https://www.haomeiwen.com/subject/rantbttx.html