安卓系统是否支持世博计步器?



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

我正在使用世博会计步器文档

但是,当我使用Pedometer.getStepCountAsync方法时,我收到一个错误"Android 尚不支持获取日期范围的步数"。

我正在尝试制作一个计步器应用程序,该应用程序可以读取用户步数,然后将其放入用户的一些视觉效果中,但我无法获取步数数据。

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

我已经在我的 Google 开发者控制台中启用了 Fitness API,并且 99% 确定我拥有正确的凭据;因为我在同一应用程序中成功使用了 Google Login。

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 不支持它。

我做了一些令人讨厌的解决方法,但它有效 我将 expo 33 添加为遗留的 npm 依赖项,并且仅使用那里的计步器模块,因为目前他们没有在新的世博会单模块上的 android 上实现计步器功能

包.json

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

并像这样使用它

import {Pedometer} from 'expo-legacy'

令人惊讶的是编译,只增加了200kb的apk大小

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

计步器无法查询步骤,文档不清楚/矛盾。

最新更新