代码之家  ›  专栏  ›  技术社区  ›  Cheok Yan Cheng

WorkerManager是在应用程序中实现警报/提醒功能的一种可行方法吗?

  •  4
  • Cheok Yan Cheng  · 技术社区  · 7 年前

    我们注意到 AlarmManagerCompat AlarmManager 不同版本操作系统中的行为。(例如,打瞌睡模式)

    最初,我们计划使用Evernote的 android-job 库,帮助我们在应用程序中实现报警/提醒功能。

    然而,在这一过程中,我们也注意到Google刚刚发布了 WorkerManager .

    到目前为止, 工人经理 当我们在应用程序退出后运行一些一次性后台作业(几乎是即时的,有互联网连接限制)时,我们的工作很好。

    我们有计划使用 工人经理 实现报警/提醒功能。

    我想知道,有多可靠 工人经理 实现这样的功能?有人试过吗?我们的目标是API 15及以上。

    1 回复  |  直到 7 年前
        1
  •  9
  •   ianhanniballake    7 年前

    WorkManager不适用于必须在特定时间启动的任何操作,因为设备正在休眠时,作业(包括WorkManager或Android作业使用的作业)不会启动。

    为了准确的时间安排,你应该使用 AlarmManagerCompat 具体来说, setExactAndAllowWhileIdle() 它会在所有API级别上的指定时间触发警报。

    由于您的确切定时警报可能会在设备休眠时发生,因此您的应用程序不需要网络连接来发布警报/提醒通知。理想情况下,信息应该在 PendingIntent 本身,甚至不需要任何数据库获取等。

    推荐文章