Pixel手机上的checkLocationSettings返回RESOLUTION_REQUIRED

时间:2019-05-16 14:48:28

标签: android google-play-services

我有三台Pixel手机,当检查片段中的位置权限时,它们都显示此行为。

当wifi关闭时,来自checkLocationSettings方法的result.isSuccessful()始终返回false。我真的不明白,好像Pixel不知道如何在没有wifi的情况下处理位置请求。

请注意,如果您打开扫描wifi网络,它将重新开始正常工作。

这是我的应用程序执行的过程:

1)活动请求位置权限并被授予。 (一切正常)。

2)稍后运行的Fragment检查授予的位置权限,并请求位置更新。

片段代码:

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)

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的Android Gradle插件?尝试使用com.android.tools.build:gradle:3.3.0-alpha11。

如果这不能解决您的问题,请提供以下详细信息:

  • 在Pixel设备上有100%的时间发生这种情况吗?
  • 请提供出现此问题的像素设备列表和Android构建信息
  • 一个示例应用程序和重现此问题的步骤。