Dud*_*bel 8 android android-location google-play-services
我正在尝试http://developer.android.com/training/location/receive-location-updates.html上的"LocationUpdates"示例.此应用程序获取并打印位置通知.
我正在尝试根据我的最新位置更改位置更新的间隔.
所以 - 我已将mLocationRequest.setInterval()添加到onLocationChanged中
结果非常错误.我的应用程序受到许多位置更新的轰炸(几秒钟!!!!)
我对样本的唯一更改是:
private int x=0;
@Override
public void onLocationChanged(Location location) {
// Report to the UI that the location was updated
mConnectionStatus.setText(R.string.location_updated);
// In the UI, set the latitude and longitude to the value received
mLatLng.setText(String.valueOf(x++));
mLocationRequest.setInterval(1000); // Change 1
mLocationClient.requestLocationUpdates(mLocationRequest, this); // Change 2
}
Run Code Online (Sandbox Code Playgroud)
如何更改onLocationChanged内的间隔?
我认为问题是requestLocationUpdates重置了最后一个请求,然后立即发送另一个通知.所以创建一个循环.(比最快的间隔快).所以我需要一种可靠的方法来改变"实时"LocationRequest的间隔
尝试使用mLocationRequest.setFastestInterval(long millis)
developer.android.com中提到的:
这允许您的应用程序以比主动获取位置更快的速度被动获取位置,从而节省电量。与 setInterval(long) 不同,此参数是精确的。您的应用程序接收更新的速度永远不会快于该值。
归档时间: |
|
查看次数: |
2145 次 |
最近记录: |