1

由于某种原因Fitness.requestPermissions(permissions).then((authorized) => { console.log(authorized) }总是返回false。同样在文档中它说它permissions应该是:

const permissions = [
    { kind: Fitness.PermissionKind.Step, access: Fitness.PermissionAccess.Read },
];

但输出console.log(Fitness.PermissionKind, Fitness.PermissionAccess)是:

{"Activity": 2, "Calories": 3, "Distance": 1, "HeartRate": 4, "Step": 0} {"READ": 0, "WRITE": 1}

Fitness.PermissionAccess.Read大写键{"READ": 0, "WRITE": 1}

知道为什么Fitness.requestPermissions([{kind:0, access: 0}])(Fitness.PermissionKind.Step 和 Fitness.PermissionAccess.READ) 总是失败吗?它确实显示了一个弹出窗口,我可以在其中选择一个帐户,但是仍然没有授予权限。

4

1 回答 1

0

您必须使用错误的 debug.keystore 创建了 Client ID,而不是 React Native android 项目提供的那个。您可以在 react-native 项目的 android/app 文件夹中使用此命令获取正确的 SHA-1 密钥:

keytool -keystore path-to-debug-or-production-keystore -list -v

如果这要求输入密码,您可以从 build.gradle 文件中获取密码。

于 2021-03-12T11:25:56.667 回答