有什么方法可以完成或成功工作时间戳吗?
WorkManager.getInstance().getWorkInfosByTagLiveData(groupId)
此代码给出WorkInfo
.
我确定WorkManager
有时间戳来管理Work
,但是如何获取它?
我正在检查位于/data/data/com.example/databases
androidx.work.workdb
文件。从 WorkManager 2.2.0 开始,以下是WorkSpec
表中存在的列:
- ID (例如 dbe0dcd0-ab76-4c1e-a963-be2135f41c3c(
- 状态(例如 2(
- worker_class_name(例如.com.example.MyWorker(
- input_merger_class_name(大部分为空,但也
androidx.work.OverwritingInputMerger
( - 输入
- 输出
- initial_delay(例如 300000(
- interval_duration(例如 900000(
- flex_duration(例如 900000(
- run_attempt_count(例如 1(
- backoff_policy(例如 0(
- backoff_delay_duration(例如 30000(
- period_start_time(例如1578901635581(
- num_retention_duration(例如 0(
- schedule_requested_at(例如1578901635601(
- required_network_type(例如 1(
- requires_charging(例如 0(
- requires_device_idle(例如 0(
- requires_battery_not_low(例如 1(
- requires_storage_not_low(例如 0(
- trigger_content_update_delay(例如 -1(
- trigger_max_content_delay(例如 -1(
- content_uri_triggers
可以推断,不存在一个字段,它将反映特定工作完成时的时间戳,因为根据我的理解WorkManager
不需要该字段。
因此,您唯一的选择是在工作成功完成后,使用共享首选项或其他 SQLite 表手动保存时间戳。