Android是否支持Expo Pedometer?

时间:2019-09-08 23:08:24

标签: android react-native expo google-developers-console

我正在使用Expo在React Native中设置一个计步器应用程序,并在我真正的Samsung s10设备上测试代码。

I am using the Expo Pedometer documentation

但是,当我使用Pedometer.getStepCountAsync方法时,返回了一个错误“ Android尚不支持获取日期范围的步骤计数。”

我正在尝试制作一个计步器应用程序,该程序可以读取用户的步骤,然后将其显示给用户,但我无法获取步骤数据。

我的代码如下:到达错误=>行并返回上述错误。 :(

我已在Google Developer Console中启用了Fitness API,并且99%确信我拥有正确的凭据;因为我已经在同一应用中成功使用了Google登录名。

const end = new Date();
    const start = new Date();
    start.setDate(end.getDate() - 1);
    Pedometer.getStepCountAsync(start, end).then(
      result => {
        this.setState({ pastStepCount: result.steps });

      },
      error => {
        this.setState({
          pastStepCount: "Could not get stepCount: " + error
        });
      }
    );

我想预期的结果是我从结果中得到了过去一天的用户操作,但是却收到了android不支持的错误信息。

2 个答案:

答案 0 :(得分:0)

是,通过使用Core Motion(iOS)或Google Fit(Android)来获取用户的步数。 任何运行4.4(KitKat)操作系统或更高版本的Android手机都可以与Google Fit连接。

Pedometer unable to query steps, documentation unclear/contradictory.

答案 1 :(得分:0)

我做了一些令人讨厌的解决方法,但它确实有效,我将expo 33添加为旧的npm依赖项,并仅从那里使用计步器模块,因为当前他们尚未在新的Expo unimodules上的android上实现计步器功能

package.json

"expo": "^35.0.0",
 "expo-legacy": "npm:expo@33.0.0",

并像这样使用它

import {Pedometer} from 'expo-legacy'

令人惊讶地编译,并且apk大小仅增加了200kb