有 root 的 Flutter 安卓如何后台执行任务

340746 2026-07-01 18:32 1

用 Flutter 写了一个 Clash 核心的控制器,打算实现后台自动更新配置,进行覆写然后重启核心

设备是一加 13T PKX110 ColorOS15 KSU

试过用模块自动跑脚本,每隔 3600 秒循环一次,但是实测 sleep 3600 会有很大的偏移,睡了一觉发现脚本卡在 sleep 3600 不动了

用 WorkManager 挂定时任务,似乎不太稳定,但好像能跑

用 flutter_foreground_task 实现了网速通知,原理是与核心进行 ws 通信,但是一把软件切到后台网速更新几秒就停了,目前是用模块把 APP 放进 System 解决的想问问大家有没有别的办法

最新回复 (7)
  • tt83 07-01 18:49
    1
    WorkManager 是不稳定而且不同的手机厂商实现不一样,在荣耀上基本没用,退到后台马上断网; flutter_foreground_task 记得好像要成功显示通知,如果没显示通知有些系统也会很快杀掉。
  • TArysiyehua 07-01 19:06
    2
    用 root 权限把应用到最近任务列表里锁定+自启动+电池优化+后台运行无限制
  • 340746 楼主 07-01 21:13
    3
    @TArysiyehua 各种设置都试过了,实在没有办法才上论坛问的🥲
  • mxT52CRuqR6o5 07-02 02:33
    4
    https://dontkillmyapp.com/
    换手机
  • mxT52CRuqR6o5 07-02 02:35
    5
    https://dontkillmyapp.com/oneplus
    oneplus 限制后台 5 个倒赞
  • codehz 07-02 10:49
    6
    走 ws 基本不可能稳的吧,现在一般方式是注入到系统服务里,走 binder 连,可以直接给主应用保活
  • TArysiyehua 07-02 11:56
    7
    @340746 那肯定是你设置不对呀,就算没有 root ,如果你自己能手动操作,你把它加入:最近任务列表里锁定+自启动+电池优化+后台运行无限制+前台服务, 这一套下来绝对可以,我自己最近刚做,华为,荣耀,小米红米,vivo ,OPPO 都可以。

    另外你说 wss 过几秒就断网了,这个跟杀进程应该是没有关系的。所以理论上还没有到保活这个阶段。u
    1. 应用设置那边看看是否有在后台就断开联网
    2. 网络设置那边有没有熄屏幕就断开网络
    3. 是否启了前台服务(我前面说的那一套是为了进程不被杀死),在进程不被杀死的前台,前台服务的作用就是要告诉系统:我还在忙,给我网络资源,不要断开。
* 帖子来源V2EX
返回