Nearby Connections 发现在 Android10 上引发错误 8036

Nearby Connections discovery throws error 8036 on Android10

在我的 OnePlus7Pro (Android 10) 上调用 ConnectionsClient#startDiscovery(String, EndpointDiscoveryCallback, DiscoveryOptions) 时,我得到

    com.google.android.gms.common.api.ApiException: 8036: unknown status code: 8036
        at com.google.android.gms.internal.nearby.zzby.setFailedResult(Unknown Source:4)
        at com.google.android.gms.internal.nearby.zzba.zzc(Unknown Source:18)
        at com.google.android.gms.internal.nearby.zzea.dispatchTransaction(Unknown Source:7)
        at com.google.android.gms.internal.nearby.zzb.onTransact(Unknown Source:22)
        at android.os.Binder.execTransactInternal(Binder.java:1032)
        at android.os.Binder.execTransact(Binder.java:1005)

我不认为这是我的代码的问题。该代码适用于任何其他 Android 版本。同样的事情发生在官方示例 https://github.com/android/connectivity-samples/tree/master/NearbyConnectionsRockPaperScissors 上,可以通过添加失败侦听器在那里重现。

错误未在文档中定义 https://developers.google.com/android/reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes。 广告效果很好。

知道错误的含义以及如何消除它吗?

此状态代码表示在运行时未请求 ACCESS_FINE_LOCATION 权限,但 Android 10 现在需要此权限才能发现。

请参阅 https://developers.google.com/nearby/connections/android/get-started 以确认您拥有所有必要的权限。

我们的状态代码文档已过时,因此我们将更新 https://developers.google.com/android/reference/com/google/android/gms/nearby/connection/ConnectionsStatusCodes 以确保很快包含所有状态代码。