gpt4 book ai didi

Android - 在特定日期和时间在 Firebase 作业调度程序中运行作业

转载 作者:行者123 更新时间:2023-11-29 02:34:37 24 4
gpt4 key购买 nike

我在我们的应用程序中使用 AlarmManager 来设置在特定日期和时间设置的警报。现在,我们应用程序的最近很少有用户提示这些警报没有弹出。此外,在 Android O 指南中,提到应用不应运行任何后台服务,而应切换到 Firebase JobDispatcher。我有以下两个问题

  1. 在我们的应用程序中,除了在指定的时间和日期向用户显示通知外,我们不执行任何后台任务。即使在这种情况下,我们是否应该切换到 Firebase Jobdispatcher
  2. 如果我们确实需要切换到 JobDispatcher,如何将作业设置为在准确的特定日期和时间运行?

最佳答案

因为您没有执行任何后台任务,例如网络请求或长时间运行的 CPU 操作,我认为您应该继续使用 Alarm Manager

Now recently few users of our app are complaining that these alarms are not popping up.

这是因为当doze mode触发器,不能保证您的警报会被触发(参见 this )。

你可以做的是使用 setAndAllowWhileIdle()setExactAndAllowWhileIdle()根据您对 API 级别 >= 23 的要求,来自 AlarmManager 类的方法。

根据文档,这些适用于通知目的。setAndAllowWhileIdle() 文档:

Like set(int, long, PendingIntent), but this alarm will be allowed to execute even when the system is in low-power idle modes. This type of alarm must only be used for situations where it is actually required that the alarm go off while in idle -- a reasonable example would be for a calendar notification that should make a sound so the user is aware of it. When the alarm is dispatched, the app will also be added to the system's temporary whitelist for approximately 10 seconds to allow that application to acquire further wake locks in which to complete its work.

关于Android - 在特定日期和时间在 Firebase 作业调度程序中运行作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47789267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com