【问题标题】:React Native HealthKit getDailyStepCountSamples returning undefined or empty arrayReact Native HealthKit getDailyStepCountSamples 返回未定义或空数组
【发布时间】: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


    【解决方案1】:

    我整个下午都在尝试做一些非常相似的事情,结果和你一样。

    为我解决的问题是使用github threads 之一的这个奇怪的技巧

    基本上,您需要将开始日期更改为比您想要采样提前一个月,所以在您的情况下,这将是 2020 年 1 月 12 日。

    原发帖人说这是由 C 代码中的问题引起的。

    我还在选项变量中为includeManuallyAdded: trueperiod: 1444 设置变量

    为我工作,希望对你有用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多