簡體   English   中英

從 WorkManager 的 Work/WorkInfo 獲取上次更新時間

[英]Get last updated time at from WorkManager's Work/WorkInfo

有沒有辦法獲得完成或成功的工作時間戳?

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_charges (例如 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 表手動保存時間戳。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM