gpt4 book ai didi

android - 如何区分 Google Fit Api 中手动添加的步数和传感器记录的步数

转载 作者:行者123 更新时间:2023-11-29 18:36:38 25 4
gpt4 key购买 nike

我在我的项目中使用 Google Fit Api 来获取用户的每日步数。但问题是,用户可以通过添加 Activity 来手动输入步骤。当我检索每日步数时,Google Fit Api 还会返回手动添加的步数。有什么方法可以区分手动添加的步骤和传感器记录的步骤。

最佳答案

这就是我解决这个问题的方法。

   final DataReadRequest readRequest = new DataReadRequest.Builder()
.read(googleFitUtils.getEstimatedSteps())
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();

DataReadResult dataReadResult =
Fitness.HistoryApi.readData(mGoogleApiFitnessClient, readRequest).await(1, TimeUnit.MINUTES);

DataSet stepData = dataReadResult.getDataSet(DataType.TYPE_STEP_COUNT_DELTA);

int totalSteps = 0;

for (DataPoint dp : stepData.getDataPoints()) {
for(Field field : dp.getDataType().getFields()) {
int steps = dp.getValue(field).asInt();
if (!"user_input".equals(dp.getOriginalDataSource().getStreamName()))
totalSteps += steps;
}
}

第一点->在我使用

获得总步数之前
Fitness.HistoryApi.readDailyTotal

返回一个数据点和每日总步数。第二点->然后我改变了使用

获取每日步数的方式
Fitness.HistoryApi.readData

它返回包含每日步数 block 的数据点数组。每个数据点都有一个属性

dp.getOriginalDataSource().getStreamName()

返回类型,要么是传感器记录的步骤,要么是使用输入。这就是您可以过滤用户输入步骤以避免应用程序中的步骤被破解的方法。

关于android - 如何区分 Google Fit Api 中手动添加的步数和传感器记录的步数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54093789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com