private void accessGoogleFit() {
DebugLog.d(TAG,"accessGoogleFit() enter.");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
long endTime = cal.getTimeInMillis();
cal.add(Calendar.YEAR, -1);
long startTime = cal.getTimeInMillis();
DataReadRequest readRequest = new DataReadRequest.Builder()
.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.bucketByTime(1, TimeUnit.DAYS)
.build();
GoogleSignInAccount account = GoogleSignIn
.getAccountForExtension(this, fitnessOptions);
Fitness.getHistoryClient(this, account)
.readData(readRequest)
.addOnSuccessListener(new OnSuccessListener<DataReadResponse>() {
@Override
public void onSuccess(DataReadResponse dataReadResponse) {
Log.d(TAG, "onSuccess() " + dataReadResponse.getStatus().toString());
printData(dataReadResponse);
List<DataSet> dataSets = dataReadResponse.getDataSets();
if (null != dataSets) {
for (DataSet dataSet : dataSets) {
Log.d(TAG, "onSuccess() dataSet =" + dataSet.toString());
}
}
List<Bucket> buckets = dataReadResponse.getBuckets();
if (null != buckets) {
for (Bucket bucket : buckets) {
Log.d(TAG, "onSuccess() bucket =" + bucket.toString());
for (DataSet dataSet : bucket.getDataSets()) {
Log.d(TAG, "onSuccess() dataSet =" + dataSet.toString());
}
}
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG, "onFailure() e" + e.getMessage());
e.printStackTrace();
}
});
}
- выбрал учетную запись Google
- Согласитесь с соглашением Google Fit
и затем журнал ошибок печати консоли: com.google. android .gms. common.api.ApiException: 17: разрешение ошибок было отменено пользователем, исходное сообщение об ошибке: INVALID_ACCOUNT: null