android - 使用 fusedlocationapi 获取位置,而无需在时间间隔后请求位置更新

标签 android geolocation location fusedlocationproviderapi android-fusedlocation

我在 android 中使用谷歌的 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

            }
        });

关于android - 使用 fusedlocationapi 获取位置,而无需在时间间隔后请求位置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39978288/

相关文章:

android - 获取按钮的精确坐标 - Android

javascript - 在移动 Web/HTML5 中访问 compass 数据

javascript - Phonegap 2.5.0 地理定位不适用于 android 4.0.4

asp.net-mvc - window.location.href 发送多个参数 asp.net mvc

ios - 删除 iOS 中的后台位置警报?

android - 调用成功时响应体为空(android)

android - 获取文件未找到异常

java - 在另一个类中调用 AlertDialog

geolocation - Google地理编码API(城市=> long,lat)

苹果手机 : using Background location services is stopped after a little time