如何在电池优化激活时执行后台服务

问题描述 投票:0回答:1

我目前使用Firebase JobDipatcher在后台执行定期任务。问题是后台服务仅在禁用电池优化时才会执行,并且应用程序的待机状态在开发人员选项下手动设置为ACTIVE。有没有办法在不手动更改所有这些的情况下执行后台任务,因为我不能要求应用程序的每个用户都这样做。如果在应用程序中请求了电源管理权限,那么谷歌会发现很多帖子会暂停该应用。任何帮助将非常感激。

android alarmmanager android-workmanager android-background firebase-job-dispatcher
1个回答
1
投票

总而言之,答案是大不了

由于开发人员仍然对这些小答案感到不满,所以我开始了HUGE理论,我们走了 -

策略否 - 1:

  1. 使用AlarmManager
  2. 所有警报都被Reboot上的机器人忘记了,所以在app Sqlite数据库中保留所有警报,实现BOOT_COMPLETED broadcastreceiver,它仍然允许静态定义并通过从应用程序数据库重新安排所有警报。
  3. 您的所有项目和辛勤工作都将按照您的计划运作,但仅限于emulators
  4. 因为在现实世界中,99%的设备都有中文ROM,如MIUI,OxygenO,ColorOs,FunTouchO ......,它们永远不会触发你的应用程序BOOT_COMPLETED broadcastreceiver。
  5. 因为他们都在节省电池寿命方面领先,通过停止所有应用程序后台服务.. !!
  6. 好问题,: - 然后为什么whatsapp,facebook,tiktok,twitter进程正常执行... ??为什么不是我的......?
  7. 很好的答案,: - 如果中国ROM不允许上面的应用程序后台服务,那么没有人会购买他们的设备.. !!并且让我们不要谈论你的应用程序,因为它不会以任何方式影响世界,你的应用程序是useless(根据中文ROM),所以他们不允许所有其他包后台任务.. !!
  8. 如果应用程序不在foreground,所有中文ROM都不会触发AlarmManager。如果应用程序从recents中删除,则永远不会触发
  9. 简而言之,Alarmmanager贬值。

策略否 - 2:

  1. 如你所说,使用FirebaseJobScedular
  2. 如果用户更新Google Play Services,那么系统会忘记所有工作.. !!
  3. 再次开发FirebaseJobScedular是为了在市场上的每台设备上运行所有工作,但由于中文ROM从不允许任何进程/类/作业来自他们自己的wishlist,这再次没有意义。
  4. 谷歌现在不推荐使用此库。

策略否 - 3:

  1. 使用WorkManager,正式在FireBaseJobScedular上发布的新库。
  2. 同样的事情,WorkManager仍然在开发中,你可以使用它,但情况是相同的,许多中国ROM也丢弃这个图书馆的工作.. !!

策略否 - 4:

  1. 运行所有时间前台服务。
  2. 来自你的BOOT_COMPLETEDbroadcastreceiver再次启动它。
  3. 但即使您使用START_STICKY,许多中文ROM用于暂停其任务,您可以在前台看到它,但工作会被暂停。

策略NO - 5:

  1. 使用WakeLocks
  2. 但随着Android版本的变化,它已在每个版本中更改为更新的实施策略

策略NO - 6:

  1. 以编程方式为您的应用关闭电池优化,但谷歌在这种情况下从应用商店中断您的应用
  2. 将用户导航到电池优化设置意图,通过以编程方式打开它并让他自己选择电池优化,谷歌允许
  3. 但由于没有用户在市场上,谁知道它,因为即使很多开发人员还不知道这一点,最终用户如何理解它呢?
  4. 再次,如果用户打开省电模式(它与电池优化不同),那么从不考虑电池优化。

我应该做什么呢......?

  1. 没有什么是开发者。
  2. 培训您的支持/销售团队在每个phone的最新版本中“锁定”您的应用程序,之后,用户无法将其从最近的位置轻扫,即使它被轻扫,您的所有上述策略都将起作用并且您的工作/警报/任务将被执行,因为它发生在你的Android模拟器或股票android上 培训您的支持/销售团队如何使电池优化“不要优化此应用程序”..

这是开箱即用的解决方案.. ??

是的。在市场上,你会注意到1%的股票Android设备和99%的中国修改ROM

在我解决同样问题的最后9到10年后,所有的知识都来到我身边,Hussshhhh

© www.soinside.com 2019 - 2024. All rights reserved.