根据这个讨论串,在Android Oreo之后,Google引入了一些后台限制,因此不可能在没有显示用户通知的情况下始终在后台运行Service。
通过获取root权限是否可以实现这一点?
编辑:我发现人们正在投票关闭我的问题,因为显然它看起来太广泛了,但我正在运行LineageOS,如果可能的话,我想将我的应用程序作为系统服务运行,而且我认为这是可行的,而不需要修改源代码。例如,在安装操作系统时,我可以刷GApps,但这是可选的,它们似乎具有我所说的功能。我也不希望你为我做所有研究,我愿意接受指导我正确方向的答案。
JobScheduler
不会立即运行任务,而ForegroundService
不会在后台运行。root
也没有真正帮助,因为root
并不是system
。 - Martin ZeitlerWorkManager
(或底层的JobIntentService
)在后台运行 - 我仍在等待一个有效的理由不使用它们; 特别是因为没有真正的替代方案,即使执行可能会被延迟。想象一下有20个应用程序将使用你的建议...然后你可以滚动通知面板; 它不能很好地扩展。 - Martin Zeitler