我可以借助广播事件(ACTION_TIME_CHANGED
和ACTION_DATE_CHANGED
)获取时间更改事件。
我需要在时间更改后获得上一次。例如,当前时间是10:00。我打算把时间换成12:00。时间更改后,时间将更改为12:00,但我需要在时间更改时获取上一个时间(10:00)。
注意:时间可以从任何其他应用程序或设置更改。
答案 0 :(得分:2)
也许我找到的解决方案可以帮到你:
(Is there a way to detect when the user has changed the clock time on their device?)
上述解决方案可以在设备的BOOT上使用System.currentTimeMillis()
设置静态变量,并与SystemClock.elapsedRealtime()
求和。有了这笔钱,你就有了时间。
但是有一个问题(我不知道这对你来说是否重要),如果用户没有重启设备,那么你的差异将是== 0
,你将无法拥有旧的和实际的System.currentTimeMillis()
之间存在差异。
答案 1 :(得分:0)
在更改时间任务时,只在sharedpreferences
中存储当前或旧时毫秒,即使用任何时间都可以使用甚至应用程序不会自动堆叠