blog.bouzuya.net

2020-04-22 Google Fit アプリと同じ値を取得する

Google Fit の API を呼び出しても Google Fit アプリで表示される値と一致しないことがある。同じ値を取得したい場合は次のように com.google.android.gms を指定した data source を使うと良い。以下はサンプルをそのまま引用している。

https://developers.google.com/fit/scenarios/read-daily-step-total

final DataSource ds = new DataSource.Builder()
  .setAppPackageName("com.google.android.gms")
  .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
  .setType(DataSource.TYPE_DERIVED)
  .setStreamName("estimated_steps")
  .build();

final DataReadRequest req = new DataReadRequest.Builder()
  .aggregate(ds, DataType.AGGREGATE_STEP_COUNT_DELTA)
  .bucketByTime(1, TimeUnit.DAYS)
  .setTimeRange(timeBounds[0], timeBounds[1], TimeUnit.MILLISECONDS)
  .build();

ABC145 F を解いた。 DP 力が足りない。簡単そうで意外と難しい。