Skip to content

增加禁止JobScheduler的功能 #9

@RichardLuo0

Description

@RichardLuo0

根据我的观察,这个貌似是系统唤醒应用去干事情,现有的功能应该是无法限制(目前我不清楚那个“同步”是什么东西)。
不过android的确会自己安排什么时候唤醒,理论上耗电应该不大,可能也没必要去刻意禁止他。也许可以考虑增加一个选项,手动设定安排work的间隔(拉长他本来要设定的时间或者条件)。
另外就是,很多应用会使用jetpack里的WorkManager,他底层用的就是JobScheduler(某个android api以上),但是,在类原生系统上,这个东西离谱的是他居然在force stop以后会重启,我没找到具体重启的代码,但是有一段注释写了,而且也符合我的观察(在强制停止微信4 5小时后他的确做到自己重启了),源码: ForceStopRunnable.java,这个基本就是重启后检测了一下是否是force stop,是的话就重新安排work(因为force stop会取消所有job。。。没错,Google就是这么自相矛盾),我觉得这个行为非常奇怪,不符合force stop的含义,目前我发现的是如果hook ForceStopRunnable::run为空似乎可以解决,希望也能增加这个功能

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions