Я проверяю файл androidx.work.workdb
, который находится в /data/data/com.example/databases
. Начиная с WorkManager 2.2.0, есть столбцы, которые присутствуют в таблице WorkSpec
:
- id (например, dbe0dcd0-ab76-4c1e-a963-be2135f41c3 c)
- состояние (например, 2)
- имя_работного_класса (например, com.example.MyWorker)
- input_merger_class_name (преимущественно нулевое, но также
androidx.work.OverwritingInputMerger
) - input
- output
- 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)
- require_charging (например, 0)
- require_device_idle (например, 0)
- require_battery_not_low (например, 1)
- require_storage_not_low (например, 0)
- trigger_content_update_delay (например, -1)
- trigger_max_conten t_delay (например, -1)
- content_uri_triggers
Как можно заключить, не существует поля, которое будет отражать метку времени, когда конкретная работа была завершена, поскольку согласно моему пониманию, WorkManager
не нуждается в этом поле.
Следовательно, при успешном завершении работы ваш единственный вариант - вручную сохранить временную метку, используя общие префы или другую таблицу SQLite.