1

我正在尝试将 Awareness API 集成到一个新项目中,但我遇到了一条错误消息:ACL_ACCESS_DENIED状态代码:7503。

我也在其他项目中集成了 Awareness API,但上次我遇到该错误时,是由于缺少所需权限的声明,该DetectedActivity功能才能正常工作。

不过这一次,我只是使用Location了 Awareness API 的功能。

我还尝试从 Google API 控制台更改 API 密钥、重新生成它们,甚至启用/禁用 API 本身,但没有任何运气。

我还有一个适当的 Google Services JSON 文件,我使用的 Play Services 版本是:10.0.0

compile 'com.google.android.gms:play-services-awareness:10.0.0'

下面是我正在使用的代码:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET"/>


<meta-data
 android:name="com.google.android.awareness.API_KEY"
 android:value="MY_API_KEY"/>


this.googleApiClient = GoogleApiClient.Builder(this)
    .addApi(Awareness.API)
    .addConnectionCallbacks(this)
    .enableAutoManage(this, this)
    .build()

Awareness
        .SnapshotApi
        .getLocation(googleApiClient)
        .setResultCallback {
            handleLocationResult(it)
        }

我也做了很多谷歌搜索,但除了一篇关于模拟器上相同错误的 SO 帖子之外没有任何提示。我没有在模拟器上尝试它。我正在使用真实设备进行测试。

如果有人有任何想法,我将不胜感激!

提前致谢!

4

1 回答 1

2

显然,AwarenessAPI 确实会针对不同的情况返回这样的错误。

状态码:7503 将被返回,即使您:

  1. 清单中缺少权限,例如 DetectedActivity 的权限
  2. 请求位置快照时具有位置设置off(它不会导致位置设置对话框弹出)

我会把它留在这里,以防将来有人偶然发现这种情况!

于 2017-02-25T20:48:38.817 回答