我们正在使用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中不起作用。