我尝试使用以下代码在Android中的Google健身中阅读用户的身高:
DataReadRequest readHeightRequest = new DataReadRequest.Builder()
.read(DataType.TYPE_HEIGHT)
.setTimeRange(FIRST_DAY_OF_MONTH_INMS, NOW_INMS, TimeUnit.MILLISECONDS)
.build();
但我只有一个没有dataPoint的空数据集。
根据DataType TYPE_HEIGHT documentation:
不应设置开始时间。
所以我试图删除:
.setTimeRange(FIRST_DAY_OF_MONTH_INMS, NOW_INMS, TimeUnit.MILLISECONDS)
- > CRASH
java.lang.IllegalStateException: Invalid start time: 0
at com.google.android.gms.internal.jx.a(Unknown Source)
at com.google.android.gms.fitness.request.DataReadRequest$Builder.build(Unknown Source)
我没有看到任何方法的文档来设置时间范围而没有结束时间。
是否可以获得代码的功能样本?
[编辑]
解决方案: 使用大量的时间范围。我在2014年6月25日使用GoogleFit的演示文稿开始时间:
DataReadRequest readRequest = new DataReadRequest.Builder()
.read(DataType.TYPE_HEIGHT)
.setTimeRange(PresentationOfGoogleFit(June,25,2014), now, TimeUnit.MILLISECONDS)
.setLimit(1)
.build();
它......有效! ;)
[/编辑]