启动针对Google Map上的设置标记的应用程序时,我需要获取用户位置。我发现此变体用于查找用户位置:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {
@Override
public void onLocationChanged(Location location) {
//Get location and unsubscribe
locationManager.removeUpdates(this);
...
}
...
}
这种方法并不总是有效。通常,应用程序等待30秒-2分钟。但是有时候这行不通,我听不到回应。
如何获取用户位置并采取100%的响应(如果可能的话,在设备正常工作时)?
在等待初始的“真实”位置更新完成时,您可以使用来获取设备已知的最后一个位置
LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
这不能保证您将拥有最新的位置,但是希望可以在此期间为您提供一些相关的显示内容。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句