【发布时间】:2017-10-25 02:42:52
【问题描述】:
短版:在 Android 8 (Oreo) 中,警报管理器不再在后台工作,Android 人说可以使用 Job Scheduler 作为替代方案,但作业调度器不允许像 Alarm Manager 那样在一天中的特定时间太好了。
加长版:我有一个“提醒”通知,会在用户设置的特定时间发出。到目前为止,我已经使用警报管理器在设定的时间发布通知。即使应用程序在后台,这也会向用户发送通知。但在 Android Oreo / 8.0 中,不再允许这样做。大多数后台服务、接收器等都相当有限。我已经设置了一个作业调度程序,但不允许提供确切的时间。作业调度程序中的定期设置不能提前设置到特定时间。因此,尽管 Android 声称作业调度程序是警报管理器的预期替代品,但它似乎并没有完成人们使用它的关键任务之一,即设置在一天中的特定时间。有谁知道如何在 Android Oreo 中做到这一点,即使应用程序在后台也能正常工作?
我已经尝试过同步适配器(也需要警报管理器!)、处理程序(在特定时间什么都没有)、使用作业服务的不同设置(周期性、最小延迟等)、重置最后一个完成后的通知(在后台也不能这样做!),仍然没有找到有效的解决方案。
有什么东西可以像作业调度程序一样工作(例如,Android 8/Oreo 可以让您在后台运行,但可以让您每天安排一天中的准确时间?
【问题讨论】:
-
不确定,但我想我读到 Handler 可用于在线程上调度 developer.android.com/reference/android/os/Handler.html