我正在android中使用google的fusedlocationapi获取用户当前的经度和纬度,现在根据我的用例,我只想仅在用户单击按钮时获取用户的当前位置,现在我以为不再要求一次又一次地更新位置在一个时间间隔之间,我可以使用一些不同的东西,以使用户的电池不会消耗太多,我在SO和其他社区上搜索了很多帖子,但没有发现任何有用的信息。现在有人可以告诉我如何找到适用于我的用例的东西。
最佳答案
获取位置后,您只需删除位置更新
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(1000);
mLocationRequest.setFastestInterval(1001);
mLocationRequest.setNumUpdates(1);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, new com.google.android.gms.location.LocationListener() {
@Override
public void onLocationChanged(Location location) {
LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
// save your location here
}
});