如何解决营养历史数据始终从 Android 上的 Google Fit 返回第一项
我正在尝试从 Android 上的 Google Fit 查询营养历史数据。
数据是通过食物记录应用程序 (Lose It) 插入的。
但是当我从 Google Fit History 客户端查询数据时,它仅检索我插入应用程序中的第一个项目的数据。 即如果我用果汁和百吉饼记录早餐,将从客户端检索的宏仅用于百吉饼。
我的代码:
val NowInMillis = 1625656053000;
val weekAgoInMillis = 1625137653000;
val fitnessOptions = fitnessOptions.builder()
.addDataType(DataType.TYPE_NUTRITION)
.addDataType(DataType.AGGREGATE_NUTRITION_SUMMARY)
.build()
val account = GoogleSignIn.getAccountForExtension(activity,fitnessOptions)
coroutinescope.launch {
fitness.getHistoryClient(activity,account)
.readDailyTotal(DataType.TYPE_NUTRITION)
.addOnSuccessListener { response ->
for (dp in response.dataPoints) {
Log.i(TAG,"Data point:")
Log.i(TAG,"\tType: ${dp.dataType.name}")
Log.i(
TAG,"\tStart: ${
Calendar.getInstance().apply {
timeInMillis = dp.getStartTime(TimeUnit.MILLISECONDS)
}.time
}")
Log.i(
TAG,"\tEnd: ${
Calendar.getInstance().apply {
timeInMillis = dp.getEndTime(TimeUnit.MILLISECONDS)
}.time
}")
for (field in dp.dataType.fields) {
Log.i(TAG,"\tField: ${field.name.toString()} Value: ${dp.getValue(field)}")
}
}
}
.addOnFailureListener { e -> Log.d(TAG,"OnFailure()",e) }
}
打印结果:
2021-07-06 22:55:17.988 30237-30237/com.Metaflow.Flutterhealthfitexample I/FlutterHealthFitPlugin: Type: com.google.nutrition.summary
2021-07-06 22:55:17.992 30237-30237/com.Metaflow.Flutterhealthfitexample I/FlutterHealthFitPlugin: Start: Tue Jul 06 01:00:01 GMT+03:00 2021
2021-07-06 22:55:17.996 30237-30237/com.Metaflow.Flutterhealthfitexample I/FlutterHealthFitPlugin: End: Tue Jul 06 01:00:01 GMT+03:00 2021
2021-07-06 22:55:18.002 30237-30237/com.Metaflow.Flutterhealthfitexample I/FlutterHealthFitPlugin: Field: nutrients Value: {calories=111.6,carbs.total=25.792,cholesterol=0.0,dietary_fiber=0.496,fat.saturated=0.0496,fat.total=0.496,protein=1.736,sodium=2.48,sugar=20.832}
2021-07-06 22:55:18.002 30237-30237/com.Metaflow.Flutterhealthfitexample I/FlutterHealthFitPlugin: Field: meal_type Value: 1
如果我查看食物记录应用程序,我可以看到下一个结果,它清楚地表明检索到的营养信息只匹配果汁:
我认为我的代码可能有问题,所以我下载了一个 FitBit 应用程序,该应用程序也能够显示来自 Google Fit 的营养信息,并且显示了相同的结果:
是否可以选择获取一整天的营养信息?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。