使用fusedlocationapi获取位置,而不会在一段时间间隔后请求位置更新

时间:2016-10-11 13:23:14

标签: android geolocation location fusedlocationproviderapi android-fusedlocation

我在android中使用google的fusedlocationapi来获取用户当前的纬度和经度,现在根据我的用例我只想在用户点击按钮时获取用户的当前位置,现在我认为不是请求位置更新在一段时间间隔之间,我可以一次又一次地使用不同的东西,这样我的用户的电池就不会耗尽太多,我搜索了SO和其他社区上的很多帖子,但没有找到任何有用的东西。现在任何人都可以告诉我如何找到适用于我的用例的东西。

1 个答案:

答案 0 :(得分:1)

您可以在获取位置时删除位置更新

  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

            }
        });