Android 如何识别手动输入或传感器跟踪的google fit活动?

Android 如何识别手动输入或传感器跟踪的google fit活动?,android,google-fit,google-fit-sdk,Android,Google Fit,Google Fit Sdk,我们正在开发一个Android应用程序,它可以查询GoogleFitAPI来检索步长、卡路里和距离参数。我们希望查询用户未手动输入的活动(或以某种方式识别此类活动并忽略它们) 用户可以手动加载行走、跑步等活动,我们希望忽略这些活动。我们查看了历史API和活动字段,但似乎无法确定活动是手动记录的还是由其他应用程序、手机传感器或可穿戴设备自动添加的 是否有人知道如何获取用户未手动记录的活动 更新 在GoogleFit开发者社区查看下面的帖子,它可能会帮助一些人 这可能不是识别传感器检测到的步骤的正确

我们正在开发一个Android应用程序,它可以查询GoogleFitAPI来检索步长、卡路里和距离参数。我们希望查询用户未手动输入的活动(或以某种方式识别此类活动并忽略它们)

用户可以手动加载行走、跑步等活动,我们希望忽略这些活动。我们查看了历史API和活动字段,但似乎无法确定活动是手动记录的还是由其他应用程序、手机传感器或可穿戴设备自动添加的

是否有人知道如何获取用户未手动记录的活动

更新

在GoogleFit开发者社区查看下面的帖子,它可能会帮助一些人


这可能不是识别传感器检测到的步骤的正确方法,但通过一些测试,它几乎与我认为由传感器记录的步骤相匹配

ds=

字符串dataStream=ds


如果“dataStream”字符串包含soft_step_delta,那么我们可以假设步骤是从电话传感器记录的。我还没有用可穿戴设备测试过它。

我按照上面Amit的建议尝试过,但是

DataPoint.getOriginalDataSource().getStreamIdentifier();
/*我也试过,但没能达到我想要的*/
DataPoint.getOriginalDataSource().getStreamName();
DataPoint.getOriginalDataSource().getAppPackageName();
检索数据时至少对我不起作用。我最终使用了如下所示的readDailyTotalFromLocalDevice(),以便只捕获设备捕获的步骤

Fitness.HistoryApi.readDailyTotalFromLocalDevice(mApiClient,数据类型。键入\u STEP\u COUNT\u DELTA)。等待(1,时间单位。分钟)
我对一些避免在应用程序中手动输入的应用程序进行了交叉检查,上述功能提供的计数完全相同


注意:如果用户有多个设备,并且在所有设备上使用应用程序,readDailyTotalFromLocalDevice()将为每个设备提供不同的值,因为函数只负责返回特定于设备的数据。

数据源可能会不同。但不确定会发生什么。数据源将是应用程序的包名,它不会有帮助。如果您让它标识用户输入步骤和软步骤,请共享解决方案。我正在将其合并在一起。已尝试DataPoint.getOriginalDataSource().getAppPackageName()并返回“null”。我也尝试过DataPoint.getOriginalDataSource().getStreamIdentifier(),它有一些不可读的值。Vrajesh-我的问题已经3年多了,可能是Google Fit API已经更改了。自从过去两年以来,我并没有在Google Fit API上工作,所以并没有更新这些更改。@Amit不是问题。我刚才在回答中也提到了这一点,以便最近开始使用GoogleFitAPI的任何人都能意识到这一点。