根据elapsedRealtime和服务器获得的时间计算时间戳

时间:2015-02-03 11:57:05

标签: android validation time

这更像是一种“这种有效”的问题,而不是“我该怎么做”,因为我的同事希望得到第二意见。我们希望获得用户使用我们的应用程序拍照的准确时间戳,并且标记应该是我们的用户无法影响的内容。由于我们希望我们的应用程序即使没有互联网连接也能正常工作,只是从服务器询问时间是行不通的。

我目前已经这样做,以便应用程序从服务器询问时间戳,同时记下Android的elapsedRealtime()时钟在那时的时间。当用户拍照时,软件再次检查elapsedRealtime(),然后计算从elapsedRealtime()保存的两个时间点之间的时间跨度。然后将该时间跨度添加到从服务器获取的时间戳中,以便我们有时间代表用户的当前时间。

在抽象层面,这听起来像是一个有效的解决方案,每次都给出准确的时间吗?还有其他解决方案吗?

修改
我忘了提一个要求:即使手机在发送到服务器之前关闭了图片也不会丢失,因此时间戳也不会失去有效性。

提前致谢, Xevas

1 个答案:

答案 0 :(得分:0)

如果确保时间正确是绝对必要的,您可以在用户拍摄第一张照片时启动计时器,然后当您上网时,检查服务器上的时间并通过减去时间来计算拍照时间自当前时间开启计时器以来经过的时间。