现在我有一些WorkManager
使用此约束的工作。
wifiConstraint = Constraints.Builder()
.setRequiredNetworkType(NetworkType.UNMETERED)
.build()
work_version = "2.2.0"
implementation "androidx.work:work-runtime-ktx:$project.work_version"
客户设备似乎已连接到 WiFi 网络,但作业repeatInterval: 30, TimeUnit.MINUTES
在 6 小时后未派发(设置为)。
此 WiFi 网络是具有配置文件的企业网络。
有没有办法知道 Job 是否没有满足既定约束,以及哪个约束没有满足?
谢谢。
WorkManager v2.4.0 alpha 01引入了使用从 WorkManager 请求诊断信息的能力
adb shell am broadcast -a "androidx.work.diagnostics.REQUEST_DIAGNOSTICS" -p "<your_app_package_name>".
这提供了许多有用的信息,包括:
这仅适用于调试版本。
遵循原始答案,对于较旧的 WorkManager 版本和发布版本仍然有效。
您无法在 WorkManager 中直接获取这些信息,但是,假设此设备运行在 Android 6.0+(API 级别 23+)上,您可以获取有关 WorkManager 使用的底层 JobScheduler API 的一些信息。
使用命令:
adb shell dumpsys jobscheduler
您应该能够使用此命令识别您的任务。
这将为您提供以下类别的巨大输出。
如果您在 Android 7.1 及更高版本上进行测试,则可以使用以下命令强制运行计划作业。
adb shell cmd jobscheduler run -f PACKAGE_NAME JOB_ID
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句