Android / Google Play服务 - 在没有WiFi扫描的情况下开启位置

时间:2016-03-25 07:33:34

标签: android google-play-services

在我的应用中,我尝试获取最后一个已知位置(当用户点击特定按钮时)。根据谷歌的原则,为此,我通过Google Play服务使用getLastLocation()方法。

http://developer.android.com/training/location/retrieve-current.html#last-known

工作得很好,但是当在设备设置中禁用了位置时,我使用SettingsApi向用户显示对话框而无需离开应用程序,在那里他可以打开必要的设置。

https://developers.google.com/android/reference/com/google/android/gms/location/SettingsApi

这也工作得很好,但即使我设置了PRIORITY_LOW_POWER(这就是我需要的全部),对话框询问(除了打开所需的位置设置)如果我还要打开WiFi扫描:

enter image description here

这甚至会询问我是否要在打开位置时以最高精度启用WiFi扫描!通常,它总是要求关闭WiFi。它真的很烦人,特别是在Android 6中存在WiFi错误导致耗尽电池时,唯一的解决方法就是关闭WiFi扫描:

https://code.google.com/p/android/issues/detail?id=188909

所以这是我的问题 - 有没有可能使用SettingsApi对话框打开没有WiFi扫描的位置?

以下是我的代码片段:

    LocationRequest locationRequest = new LocationRequest().setPriority(LocationRequest.PRIORITY_LOW_POWER);

    LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder()
            .addLocationRequest(locationRequest)
            .setAlwaysShow(true);

    PendingResult<LocationSettingsResult> result =
            LocationServices.SettingsApi.checkLocationSettings(googleApiClient, builder.build());

0 个答案:

没有答案