我正在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

            }
        });

10-08 20:27