У меня три телефона Pixel, и все они отображают это поведение при проверке разрешений местоположения во фрагменте.
result.isSuccessful () из метода checkLocationSettings всегда возвращает false, когда wifi отключен.Я действительно не понимаю, как будто Pixel не знает, как обрабатывать запросы местоположения без Wi-Fi.
Обратите внимание, что если вы включите сканирование сетей Wi-Fi, он снова начнет работать как обычно.
Это процесс, который выполняет мое приложение:
1) Активность запрашивает разрешения местоположения, и они предоставляются.(Это все работает нормально).
2) Фрагмент, запускаемый позже, проверяет предоставленное разрешение на местоположение и запрашивает обновления местоположения.
Код фрагмента:
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(UPDATE_INTERVAL);
locationRequest.setFastestInterval(FASTEST_INTERVAL);
LocationSettingsRequest.Builder builder = new
LocationSettingsRequest.Builder().addLocationRequest(locationRequest);
SettingsClient client = LocationServices.getSettingsClient(activity);
Task<LocationSettingsResponse> task = client.checkLocationSettings(builder.build());
task.addOnCompleteListener(result -> {
if (result.isSuccessful()) {
fusedLocationClient.requestLocationUpdates(
...
}else{
//Always end up here
//com.google.android.gms.common.api.ResolvableApiException: 6: RESOLUTION_REQUIRED
Exception locExcep = result.getException();
Log.e(TAG, "startLocationUpdates failed: ", locExcep);
}
Работает на любом другомтелефон я могу достать.Весь код практически идентичен:
https://developer.android.com/training/location/change-location-settings.html
https://developer.android.com/training/location/receive-location-updates
Ошибка:
com.google.android.gms.common.api.ResolvableApiException: 6: RESOLUTION_REQUIRED
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source:3)
at com.google.android.gms.common.internal.zai.zaf(Unknown Source:2)
at com.google.android.gms.common.internal.zaj.onComplete(Unknown Source:6)
at com.google.android.gms.common.api.internal.BasePendingResult.zaa(Unknown Source:172)
at com.google.android.gms.common.api.internal.BasePendingResult.setResult(Unknown Source:131)
at com.google.android.gms.common.api.internal.BaseImplementation$ApiMethodImpl.setResult(Unknown Source:36)
at com.google.android.gms.internal.location.zzbc.zza(Unknown Source:2)
at com.google.android.gms.internal.location.zzar.dispatchTransaction(Unknown Source:11)
at com.google.android.gms.internal.location.zzb.onTransact(Unknown Source:22)
at android.os.Binder.execTransact(Binder.java:731)