センサーを使用して歩数を検出しており、ソースを履歴に変更したいと考えています (今日の合計歩数を取得したい)。複数のスタック オーバーフローとチュートリアル (ほとんどは Google 独自のもの) に従いました。これは私のコードです。スティッキー サービスで作成されたクラスにあります。
private void buildFitnessClient() {
mClient = new GoogleApiClient.Builder(context)
.addApi(Fitness.HISTORY_API)
.build();
mClient.connect();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(
DateTime.now().minusDays(5).getMillis(),
DateTime.now().getMillis(),
TimeUnit.MILLISECONDS)
.build();
Fitness.HistoryApi.readData(mClient, readRequest).setResultCallback(new ResultCallback<DataReadResult>() {
@Override
public void onResult(DataReadResult dataReadResult) {
Log.d(TAG, "onResult");
Log.d(TAG, "" + dataReadResult.getBuckets().size());
for (Bucket bucket : dataReadResult.getBuckets()) {
List<DataSet> dataSets = bucket.getDataSets();
for (DataSet dataSet : dataSets) {
Log.d(TAG, "dataSet.dataType: " + dataSet.getDataType().getName());
for (DataPoint dp : dataSet.getDataPoints()) {
Log.d(TAG, "dp:" + dp.toString());
}
}
}
}
});
Log.d(TAG, "Dataset in History end ");
}
本質的に、何も起こりません。ログ「onResult」が表示されません。どうしたの?それはクライアントのビルドですか?文脈?パラメータ?
ありがとうございました!