【发布时间】:2021-01-20 03:58:11
【问题描述】:
我正在使用 react-native-health 创建一个应用来读取每日步数。我已经在模拟器 Health 应用程序上手动添加了步骤,并且数据源正在显示我的应用程序并且所有 Health 权限都已打开,但是当我尝试 getDailyStepCountSamples 时,我得到一个空数组。
另外,我遇到的另一个问题是我需要在每次获取空数组之前启动 HealthKit,否则我会得到“未定义”。一旦我再次启动 HealthKit,它将返回“未定义”并记录“步骤:[]”。我的代码有问题吗?
import AppleHealthKit from 'react-native-health';
export function useHealthKit({
init = false,
steps = false,
}) {
const PERMS = AppleHealthKit.Constants.Permissions;
const initiate = () => {
let permissions = {
permissions: {
read: [
PERMS.StepCount,
],
},
};
AppleHealthKit.initHealthKit(permissions, (err, results) => {
if (err) {
console.log(err);
} else {
console.log('Initialized!', results),
}
});
};
const getSteps = () => {
let stepOptions = {
startDate: new Date(2021, 1, 1).toISOString(),
};
AppleHealthKit.getDailyStepCountSamples(
stepOptions,
(err, results) => {
if (err) {
return;
}
console.log('Steps: ', results);
},
);
};
init && initiate();
steps && getSteps();
}
我通过以下方式调用它:
const SomeView = () => {
<View>
<Button onPress={() => useHealthKit({init: true})>
<Text>Initiate HealthKit</Text>
</Button>
<Button onPress={() => console.log(useHealthKit({steps: true}))>
<Text>Console.log steps</Text>
</Button>
</View>
};
【问题讨论】:
标签: reactjs react-native healthkit