androidx.work.Worker.doWork() 停止工作

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

androidx.work.Worker.doWork()
3-4 天前停止工作。在此之前它已经工作了 2-3 年,没有任何错误。

问题发生之前,该方法每 30 分钟调用一次。 但现在只有当我单击应用程序并将其带到前面时才会调用它 - 在调用

Activity.onResume()
之后。 我添加了相应的日志语句来得出这个结论。

我想Android系统一定有一些变化。然而Android版本(14)没有改变。自一两个月以来,我也没有对应用程序源代码进行任何更改,也没有在手机上更新它。 一个 UI 可能已更新,但我不知道它会如何影响它。

我将应用程序添加到列表中

Never auto sleeping apps
但似乎没有任何效果。

欢迎任何建议。如果需要一些应用程序代码,我会发布它,但老实说,我不知道它有什么帮助。

我的下一步可能包括以下内容:

  1. 将应用程序数据库从手机导出到模拟器
  2. 在模拟器上安装应用程序并在数据库上运行一段时间
  3. 如果模拟器应用程序每隔 30 分钟就会调用
    doWork()
    ,则问题一定出在手机的 Android 系统上
android worker
1个回答
0
投票

我记得我在3-4天前打开了选项

Battery -> Power saving
。我将其关闭后
doWork()
又开始在后台工作。

该选项的描述如下:

后台网络使用、同步和位置检查将 有限,并且运动平滑度将更改为标准(60 Hz)

他们没有在此描述中提供更详细的信息,这是完全可以理解的 - 例如Worker.doWork() 执行将受到限制 - 因为大多数电话用户不会理解它。 然而对于作为开发人员的我来说,这是非常出乎意料的。但我不确定 Android/Android SDK 文档中是否提到过...

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