如何使用 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_INTERVAL
和 UPDATE_INTERVAL_ACTIVE
都对该对话框没有任何影响。
我正在尝试使用 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_INTERVAL
和 UPDATE_INTERVAL_ACTIVE
都对该对话框没有任何影响。