androidx.work.Worker.doWork()
3-4 天前停止工作。在此之前它已经工作了 2-3 年,没有任何错误。
问题发生之前,该方法每 30 分钟调用一次。 但现在只有当我单击应用程序并将其带到前面时才会调用它 - 在调用
Activity.onResume()
之后。
我添加了相应的日志语句来得出这个结论。
我想Android系统一定有一些变化。然而Android版本(14)没有改变。自一两个月以来,我也没有对应用程序源代码进行任何更改,也没有在手机上更新它。 一个 UI 可能已更新,但我不知道它会如何影响它。
我将应用程序添加到列表中
Never auto sleeping apps
但似乎没有任何效果。
欢迎任何建议。如果需要一些应用程序代码,我会发布它,但老实说,我不知道它有什么帮助。
我的下一步可能包括以下内容:
doWork()
,则问题一定出在手机的 Android 系统上我记得我在3-4天前打开了选项
Battery -> Power saving
。我将其关闭后doWork()
又开始在后台工作。
该选项的描述如下:
后台网络使用、同步和位置检查将 有限,并且运动平滑度将更改为标准(60 Hz)
他们没有在此描述中提供更详细的信息,这是完全可以理解的 - 例如Worker.doWork() 执行将受到限制 - 因为大多数电话用户不会理解它。 然而对于作为开发人员的我来说,这是非常出乎意料的。但我不确定 Android/Android SDK 文档中是否提到过...