Вы можете сделать одну вещь, если точность предыдущего времени не так важна. Вы можете получить предыдущее время с точностью +/- 1 минуту следующим образом.
Регистрация для действия трансляции ACTION_TIME_TICK (Это будет транслироваться каждую минуту).
Когда тикает время, если разница между текущим временем и временем последнего тика превышает 1 минуту, можно сделать вывод, что произошла смена времени. После этого вы просто обновляете новое время для общего доступа. Вот и все.
- Зарегистрируйтесь для трансляции ACTION_TIME_TICK.
- Когда трансляция получена:
2.1 В случае трансляции в первый раз введите текущее системное время в «Общее предпочтение».
2.2 иначе сравнивайте текущее время с ранее введенным временем и, если возникает разница более 1 минуты, означает, что время изменилось. Затем обновите новое системное время до SP.
Удачного кодирования.