Android 如何实现 services 保活

349 天前
 horou

现在是用的这种方式启动的服务,如何能够保持服务一直在后台运行,有 root 权限

2850 次点击
所在节点    程序员
13 条回复
kop1989smurf
349 天前
自从 Android6.0 引入 doze 机制之后,就不存在通过正常手段可以“一直后台运行”的服务了。

非正常手段有很多,比如一个像素点的 Activity ,ROM 白名单等等。但这也都不能保证 Activity/Service 的活跃状态。
sadfQED2
349 天前
有 root 权限的话把 apk 放到系统目录试试呢。我以前在 android5 版本这样做是没问题的

如果这不行的话就装个 xposed ,然后尝试一些 xposed 的保活模块
greenskinmonster
348 天前
设备管理器? Accessibility Service ?如果你能接受每次开机手动运行一次,启动前台服务的话,也是能做到的。以上都不需要 root 。
horou
348 天前
@greenskinmonster 可以接受,系统的 Launcher 桌面也是我们做的,在 Launcher 里面启动我们的服务应该不会被进程杀死吧
freddong
348 天前
俩 service 互相拉起
EmperorXI
348 天前
ysc3839
348 天前
显示一个通知的“前台服务”是能尽可能保持运行的,不显示通知的后台服务最多只能做到被杀死后重新启动。可以看一下 Telegram Android 的代码,在 MIUI 下测试,允许自启动后,后台服务被杀死也能自动重启。
deng81416754
348 天前
瞧瞧跟你讲,系统不会杀 luacher 应用,你可以把服务加到这里
codehz
348 天前
有系统权限?试试直接在 framework 里添加一个系统服务
TArysiyehua
348 天前
@horou 把你的进程加到系统白名单里就好了,都不用保活
cvbnt
348 天前
可以研究一下拼多多
Ionian
348 天前
WorkManager 呢
NSChris
347 天前
加到闹钟服务里面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/940302

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX