1

我正在尝试访问 Android Wear 上的 Google Fit API 以获取用户目标,但我遇到了以下问题。

//我在 Android Wear 2.0 模拟器上运行。

如果在 Builder 中没有指定帐户(通过 setAccountName),我会收到“无效帐户”错误消息。

如果我手动设置我收到的帐户名

“com.android.tools.fd.runtime.BootstrapApplication 存在 google play 服务可用性问题。再试一次。”。

我使用以下代码来执行此操作:

     mClient = new GoogleApiClient.Builder(this)
                    .addApi(Fitness.GOAL_API)
                    .addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ))
                    .addScope(new Scope(Scopes.FITNESS_LOCATION_READ))
                    .addConnectionCallbacks([...])
                    .addOnConnectionFailedListener(
                        new GoogleApiClient.OnConnectionFailedListener() {
                            @Override
                            public void onConnectionFailed(ConnectionResult result) {
                                    if (result.hasResolution()) {
                                        try {
                             result.startResolutionForResult(ConfigAccount.this, request_code);
                                        } catch (IntentSender.SendIntentException e) {
                                            e.printStackTrace();
                                        }
                                    } else {
    GoogleApiAvailability.getInstance().getErrorDialog(ConfigAccount.this, result.getErrorCode(), request_code_error, new DialogInterface.OnCancelListener() {})
                    .build();

每次 onConnectionFailed() 中的 result.resolution 为空。错误代码为 5005 - UNKNOWN_AUTH_ERROR 因为分辨率为空,所以 startResolutionOnResult 和 enableAutoManage 不起作用。

凭证应该没问题。提出的方法适用于装有 Android 5.1 的手机。

播放服务版本为 9.8.0。降级版本没有帮助。

任何想法如何实现我的目标?谢谢。

4

2 回答 2

2

FitnessStatusCodes 文档中,Error code is 5005 - UNKNOWN_AUTH_ERROR 是一个状态码,表示尝试获取 OAuth 令牌时发生未知错误。因此,请确保您正确获取 OAuth 令牌。

如果您的应用未在 Google 开发者控制台中正确注册,则会出现此错误的另一个可能原因。

在此线程中指出,您可能已经使用生产密钥库证书指纹(SHA1)在 Google 开发人员控制台上注册了应用程序,而您正在具有调试密钥库的应用程序上对其进行测试。

以下是您需要执行的步骤。

  • 使用调试密钥库证书指纹 (SHA1) 再创建一个客户端 ID。
  • 卸载现有应用程序。
  • 安装应用并连接到 Google fit。
  • 检查 google fit app 并确保您的应用被列为已连接的应用(... > 设置 > 已连接的应用 > 已连接的应用和设备

有关更多信息,请查看此线程和此SO 问题

于 2016-11-15T09:04:26.553 回答
2

我知道回答需要一些时间,但在 Android Wear Dev Preview 4 中,Google 添加了wear 2.0 authentication。可穿戴设备似乎不支持其他登录谷歌服务的方式。

于 2017-01-26T12:39:24.737 回答