我正在为Android编写应用程序.我需要允许我的用户捕获其当前位置&记录发生这种情况的日期/时间.问题在于,日期/时间不能是用户可以通过在其设备上调整日期/时间来更改的内容.
在为塔使用位置服务时,能否为我指出获取蜂窝网络日期/时间的正确方向,以及如何获取GPS日期/时间?
任何帮助表示赞赏,谢谢!
解决方法:
可以使用Android Location API中的LocationListener来检索GPS或网络时间戳.
有关完整的示例,请参见开源GPSTest项目:
https://github.com/barbeau/gpstest
您可以请求收听任一网络位置更新:
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0,此);
或GPS位置更新:
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,this);
然后,将位置传递到LocationListener.onLocationChanged方法中时,可以从该位置读取时间戳:
@Override
public void onLocationChanged(Location location) {
Log.i("Timestamp", "New timestamp: " + location.getTime());
}
另一种选择是向网络时间协议(NTP)服务器发出请求,该服务器完全独立于设备和蜂窝网络.
有关实现NTP客户端的详细信息,请参阅此帖子: