我有一个跟踪用户位置的应用程序。 我的应用使用FusedLocationApi
,Google使用Google Play服务获取设备位置的新方式。Fused Location Api从GPS获取时间
提供被标记为稠。
因为应用程序的用户可以更改设备的时间,它从GPS得到真正的时间是非常重要的。
问题是,当我试图从Location
对象获取的时候,它会返回设备时没有GPS的时间。
的任何解决方案,以获得在这种情况下,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)
}
您必须禁止使用网络的位置提供。 – theWalker
见:http://stackoverflow.com/questions/4418344/android-problem-finding-out-how-recent-latest-gps-fix-is – theWalker
@skippy:对不起,响应延迟。你是对的 。这可以通过'LocationManager'实现,但是我怎么能在'FusedLocationApi'中做到这一点?这个解决方案可能吗? – deuxdeux