问题描述
我正在尝试从 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 (将#修改为@)