我想设计一个应用程序,我可以在用户更改为任何新时间之前获得时间。我在用
android.intent.action.TIME_SET
要知道用户已更改时间
例如。假设当前时间是晚上 10.00 用户将其更改为晚上 9.00 那么我可以得到之前的时间是晚上 10.00
前段时间有人问过问题,但我通常有同样的问题,找不到合理(有效)的解决方案。
回想一下,我想知道用户更改时间之前设置的时间。例如,用户将时间从下午 6:12 更改为下午 3:21。据我所知,没有关于以前时间的信息android.intent.action.TIME_SET
。但是在处理这个意图时,我想以某种方式知道时间设置为下午 3:21,而实际上是下午 6:12。(假设同一天)。
根据这个问题的公认答案:
如果我想处理网络不可用的情况,我必须将自己的计时器附加到我的应用程序中,自己测量时间,以及在处理时
android.intent.action.TIME_SET
从此内置计时器中获取旧时。
但在我看来,这是一个相当繁重的解决方案,我认为必须有更简单的方法来做到这一点。
所以问题是,处理上述情况的最佳(最有效和最简单)的方法是什么。尽管这个问题在我看来很常见,但我找不到公平的解决方案。
您可以尝试监视System.currentTimeMillis()和SystemClock.elapsedRealtime()之间的差异。System.currentTimeMillis() 的值会受到系统时间变化的影响,而 SystemClock.elapsedRealtime() 的值则不会。