我有一个跟踪用户位置的应用程序。我的应用程序使用FusedLocationApi,谷歌使用Google服务获取设备位置的新方法。
我从全球定位系统提供的位置被标记为融合。
由于应用程序用户可能会改变设备时间,因此从GPS获取实时信息是非常重要的。
问题是,当我试图从Location对象获取时间时,它会返回设备时间,而不是GPS时间。
任何解决办法,以获得全球定位系统的时间,在这种情况下将不胜感激。
private Location mLastLocation;
public void onConnected(Bundle arg0) {
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
}
public void onLocationChanged(Location location) {
mLastLocation = LocationServices.FusedLocationApi
.getLastLocation(mGoogleApiClient);
if (mLastLocation != null) {
double latitude = mLastLocation.getLatitude();
double longitude = mLastLocation.getLongitude();
Date date = new Date(mLastLocation.getTime());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
String time = dateFormat.format(date)
}发布于 2016-02-20 18:41:40
要获得UTC全球定位系统,以正常的方式:
LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, this);
// not LocationManager.NETWORK_PROVIDER
@Override
public void onLocationChanged(Location location)
{
long utc = location.getTime();
// ....
}https://stackoverflow.com/questions/35389633
复制相似问题