【发布时间】:2018-04-19 13:50:36
【问题描述】:
我在从 WearOS 设备连接到 Google Fitness API 时遇到问题。 我想用手表将心率记录到 Google Fit。 我认为我的权限有些问题:
-
我构建了一个 FitnessOptions 对象,列出了所需的数据类型。 -
onCreate()fitnessOptions = FitnessOptions.builder() .addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_WRITE) .addDataType(DataType.TYPE_HEART_RATE_BPM, FitnessOptions.ACCESS_READ) .build(); -
如果需要,我请求权限,否则尝试连接 -
onResume()if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(this), fitnessOptions)) { Log.d(TAG, "Will request permissions."); GoogleSignIn.requestPermissions( this, // your activity GOOGLE_FIT_PERMISSIONS_REQUEST_CODE, GoogleSignIn.getLastSignedInAccount(this), fitnessOptions); } else { Log.d(TAG, "Will access google fit."); accessGoogleFit(); }
这里我有一个问题:GoogleSignIn 启动了一个活动并要求我登录,正如预期的那样。我选择帐户,该帐户结束登录活动并恢复我的活动。而且我仍然没有权限,因为它再次提示我登录。
在我的清单文件中:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BODY_SENSORS" />
我在手机上使用了类似的过程,它可以工作。 两个应用程序(移动和穿戴)都在 Google API 控制台中注册,使用相同的 OAuth2 凭据(有问题吗?)。
任何指针表示赞赏。
【问题讨论】:
标签: android google-fit android-wear-2.0 wearables