【问题标题】:What should be used for background tasks instead of foreground service when app is killed?当应用程序被杀死时,应该将什么用于后台任务而不是前台服务?
【发布时间】:2020-01-08 12:40:55
【问题描述】:

在我的应用程序中,我想在应用程序在后台运行甚至关闭时显示确切时间的通知。我使用 AlarmManager 和服务与 BroadcastReceiver 来显示通知。最新版本的android不允许在应用程序关闭后在后台运行服务,并且前台服务正在消耗电池,降低设备速度等。我想知道即使应用程序关闭并显示通知,我是否可以使用其他可以工作的东西。我听说过 WorkManager 和 JobScheduler 用于此类操作,但即使应用程序关闭,它们也能完成工作吗?

【问题讨论】:

标签: android service android-notifications android-workmanager android-jobscheduler


【解决方案1】:

前台服务不会消耗更多电池,也不会降低设备速度,只会显示通知。

答案基本上是不可能在新的 android API 上提供连续的后台服务。您只能使用WorkManagerJobScheduler 等工具来安排任务。

这些天我认为WorkManager 是答案,因为 Android 团队今年专注于它。

即使是连续的前台服务也会在一段时间后被杀死......为了避免必须做两件事:

  1. 应禁用应用的本机电池优化。
  2. 还必须为特定应用禁用手机制造商(另一种电池优化).....

我知道这是最糟糕的用户体验,他们丢掉了手机可以做的一半聪明的事情,但生活就是生活:)

【讨论】:

  • 我试过WorkManager,打开app没有问题。不幸的是,当应用程序关闭时它也不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多