移动应用:离线时如何获得正确的时间



我们正在使用Ionic/Cordova构建一个应用程序,该应用需要在Android,iOS和Windows 10移动设备上运行。

目标是注册开始和停止事件,我们需要在注册此事件时确切的时间和位置。

严重的担心,用户将修改手机上的时间表以发送虚假数据。

只要这些事件立即发送到服务器,我们就可以使用服务器时间来验证用户向我们发送的内容。但是,在离线时也需要能够工作。

我们的第一个想法是使用GPS时间。在科尔多瓦,位置对象具有时间戳。https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-geolocation/

,但是在此处和这里进一步阅读后,这不一定是GPS服务器的时间,而只是当地时间。我已经使用设备的正常运行时间阅读了有关周围工作的信息,但是只要重新启动,这种情况就无法正常工作。但是这些对话中的大多数是几年的时间。

目前,我们认为Simples方法将是标记以"可疑"发送的事件。

是否有其他方法可以准确确定您脱机而没有风险的时间?

没有自己尝试过,但是从网络提供商那里获得时间,如上所述:我想从GSM Network

获得时间
long networkTS = locMan.getLastKnownLocation(LocationManager.NETWORK_PROVIDER).getTime();

如果您想要当前 时间使用

locMan.requestSingleUpdate() and pass the network provider

不过,这可能在iOS或Windows中不起作用。

最新更新