React Native HealthKit getDailyStepCountSamples 返回未定义或空数组
Posted
技术标签:
【中文标题】React Native HealthKit getDailyStepCountSamples 返回未定义或空数组【英文标题】:React Native HealthKit getDailyStepCountSamples returning undefined or empty array 【发布时间】: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>
;
【问题讨论】:
【参考方案1】:我整个下午都在尝试做一些非常相似的事情,结果和你一样。
为我解决的问题是使用github threads 之一的这个奇怪的技巧
基本上,您需要将开始日期更改为比您想要采样提前一个月,所以在您的情况下,这将是 2020 年 1 月 12 日。
原发帖人说这是由 C 代码中的问题引起的。
我还在选项变量中为includeManuallyAdded: true
和period: 1444
设置变量
为我工作,希望对你有用!
【讨论】:
以上是关于React Native HealthKit getDailyStepCountSamples 返回未定义或空数组的主要内容,如果未能解决你的问题,请参考以下文章
React Native HealthKit getDailyStepCountSamples 返回未定义或空数组
React Native HealthKit getDailyStepCountSamples 返回未定义或空数组