

现在是用的这种方式启动的服务,如何能够保持服务一直在后台运行,有 root 权限
1 kop1989smurf 2023-05-16 09:59:56 +08:00 自从 Android6.0 引入 doze 机制之后,就不存在通过正常手段可以“一直后台运行”的服务了。 非正常手段有很多,比如一个像素点的 Activity ,ROM 白名单等等。但这也都不能保证 Activity/Service 的活跃状态。 |
2 sadfQED2 2023-05-16 10:00:06 +08:00 via Android 有 root 权限的话把 apk 放到系统目录试试呢。我以前在 android5 版本这样做是没问题的 如果这不行的话就装个 xposed ,然后尝试一些 xposed 的保活模块 |
3 greenskinmonster 2023-05-16 10:14:23 +08:00 设备管理器? Accessibility Service ?如果你能接受每次开机手动运行一次,启动前台服务的话,也是能做到的。以上都不需要 root 。 |
4 horou OP @greenskinmonster 可以接受,系统的 Launcher 桌面也是我们做的,在 Launcher 里面启动我们的服务应该不会被进程杀死吧 |
5 EI8xU01k92WdI1Mb 2023-05-16 12:20:24 +08:00 俩 service 互相拉起 |
6 5evWx1D0iuQ8fb15 2023-05-16 12:55:09 +08:00 via iPad |
7 ysc3839 2023-05-16 16:48:56 +08:00 via Android 显示一个通知的“前台服务”是能尽可能保持运行的,不显示通知的后台服务最多只能做到被杀死后重新启动。可以看一下 Telegram Android 的代码,在 MIUI 下测试,允许自启动后,后台服务被杀死也能自动重启。 |
8 deng81416754 2023-05-16 16:51:55 +08:00 瞧瞧跟你讲,系统不会杀 luacher 应用,你可以把服务加到这里 |
9 codehz 2023-05-16 20:21:58 +08:00 有系统权限?试试直接在 framework 里添加一个系统服务 |
10 TArysiyehua 2023-05-16 20:42:33 +08:00 @horou 把你的进程加到系统白名单里就好了,都不用保活 |
11 cvbnt 2023-05-16 20:53:18 +08:00 via Android 可以研究一下拼多多 |
12 Ionian 2023-05-16 22:41:59 +08:00 WorkManager 呢 |
13 NSChris 2023-05-17 13:19:24 +08:00 加到闹钟服务里面 |