このコードを使用して、AndroidのGoogle Fitでユーザーの身長を読み取ろうとしました:
DataReadRequest readHeightRequest = new DataReadRequest.Builder()
.read(DataType.TYPE_HEIGHT)
.setTimeRange(FIRST_DAY_OF_MONTH_INMS, NOW_INMS, TimeUnit.MILLISECONDS)
.build();
しかし、dataPoint のない空のデータセットしか取得できませんでした。
DataType TYPE_HEIGHT ドキュメントによると:
開始時刻は設定しないでください。
だから私は削除しようとしました:
.setTimeRange(FIRST_DAY_OF_MONTH_INMS, NOW_INMS, TimeUnit.MILLISECONDS)
->クラッシュ
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();
そしてそれは....動作します!;)
[/編集]