如何使用 GooglePlayServices 上的新 SettingsApi 请求 "High Accuracy" 位置?

How can I request "High Accuracy" Location with the new SettingsApi on GooglePlayServices?

我正在尝试使用 GooglePlayServices 的新 SettingsApi (https://developer.android.com/reference/com/google/android/gms/location/SettingsApi.html) 来检测是否需要更改用户设置,而无需退出应用程序。

我的问题是出现了对话框,但它只说需要 Wifi 和互联网才能访问位置。我还希望它请求 GPS(这是高精度模式或仅设备模式)。

我获取 LocationSettingsRequest 的代码:

public static LocationSettingsRequest getHighPriorityLocationSettingsRequest() {
        LocationRequest locationRequest = LocationRequest.create();
        locationRequest.setFastestInterval(FASTEST_INTERVAL);
        locationRequest.setInterval(UPDATE_INTERVAL_ACTIVE);
        locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

        return new LocationSettingsRequest.Builder()
                .addLocationRequest(locationRequest)
                .setAlwaysShow(true)
                .build();
    }

谢谢!

该对话框仅列出将您的位置设置置于更优化状态所需的更改。因此在以下情况下它不会要求您提供 GPS:

  • GPS 在您的设备上不可用,或者
  • GPS 已开启。

顺便说一下,FASTEST_INTERVALUPDATE_INTERVAL_ACTIVE 都对该对话框没有任何影响。