Android 反应本机反应本机适应性

Android 反应本机反应本机适应性,android,react-native,fitness,Android,React Native,Fitness,出于某种原因,Fitness.requestPermissions(permissions).then((authorized)=>{console.log(authorized)}始终返回false。在文档中还指出它的权限应为: const permissions = [ { kind: Fitness.PermissionKind.Step, access: Fitness.PermissionAccess.Read }, ]; 但是console.log(Fitness.Perm

出于某种原因,
Fitness.requestPermissions(permissions).then((authorized)=>{console.log(authorized)}
始终返回
false
。在文档中还指出它的
权限应为:

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)总是失败?它确实会显示一个弹出窗口,我可以在其中选择一个帐户,但仍然没有授予权限。

您必须使用错误的debug.keystore创建客户端ID,而不是React Native android项目提供的ID。您可以在React Native project的android/app文件夹中使用此命令获得正确的SHA-1密钥:

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

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

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

keytool -keystore path-to-debug-or-production-keystore -list -v
如果这需要密码,您可以从build.gradle文件获取密码