我目前使用Firebase JobDipatcher在后台执行定期任务。问题是后台服务仅在禁用电池优化时才会执行,并且应用程序的待机状态在开发人员选项下手动设置为ACTIVE。有没有办法在不手动更改所有这些的情况下执行后台任务,因为我不能要求应用程序的每个用户都这样做。如果在应用程序中请求了电源管理权限,那么谷歌会发现很多帖子会暂停该应用。任何帮助将非常感激。
总而言之,答案是大不了
由于开发人员仍然对这些小答案感到不满,所以我开始了HUGE
理论,我们走了 -
策略否 - 1:
AlarmManager
Reboot
上的机器人忘记了,所以在app Sqlite
数据库中保留所有警报,实现BOOT_COMPLETED
broadcastreceiver,它仍然允许静态定义并通过从应用程序数据库重新安排所有警报。emulators
BOOT_COMPLETED
broadcastreceiver。useless
(根据中文ROM),所以他们不允许所有其他包后台任务.. !!foreground
,所有中文ROM都不会触发AlarmManager。如果应用程序从recents
中删除,则永远不会触发策略否 - 2:
FirebaseJobScedular
Google Play Services
,那么系统会忘记所有工作.. !!FirebaseJobScedular
是为了在市场上的每台设备上运行所有工作,但由于中文ROM从不允许任何进程/类/作业来自他们自己的wishlist
,这再次没有意义。策略否 - 3:
WorkManager
,正式在FireBaseJobScedular上发布的新库。WorkManager
仍然在开发中,你可以使用它,但情况是相同的,许多中国ROM也丢弃这个图书馆的工作.. !!策略否 - 4:
BOOT_COMPLETED
的broadcastreceiver
再次启动它。START_STICKY
,许多中文ROM用于暂停其任务,您可以在前台看到它,但工作会被暂停。策略NO - 5:
WakeLocks
策略NO - 6:
我应该做什么呢......?
phone
的最新版本中“锁定”您的应用程序,之后,用户无法将其从最近的位置轻扫,即使它被轻扫,您的所有上述策略都将起作用并且您的工作/警报/任务将被执行,因为它发生在你的Android模拟器或股票android上
培训您的支持/销售团队如何使电池优化“不要优化此应用程序”..这是开箱即用的解决方案.. ??
是的。在市场上,你会注意到1%的股票Android设备和99%的中国修改ROM
在我解决同样问题的最后9到10年后,所有的知识都来到我身边,Hussshhhh