long startDateInMS = dateUTCToMillisecs(startDate);
long endDateInMS = dateUTCToMillisecs(endDate);
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
WritableArray results = Arguments.createArray();
DataSource DS = new DataSource.Builder()
.setDataType(DataType.TYPE_HEART_RATE_BPM)
.setType(DataSource.TYPE_DERIVED)
.setStreamName("heart_rate")
.setAppPackageName("com.google.android.gms")
.build();
final DataReadRequest req = new DataReadRequest.Builder()
.aggregate(DS, DataType.AGGREGATE_HEART_RATE_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startDateInMS, endDateInMS, TimeUnit.MILLISECONDS)
.build();
GoogleSignInAccount googleSignInAccount = GoogleSignIn.getLastSignedInAccount(context);
Fitness.getHistoryClient(context, googleSignInAccount).readData(req).addOnSuccessListener(new OnSuccessListener<DataReadResponse>() {
@Override
public void onSuccess(DataReadResponse dataReadResponse) {
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
}).addOnCompleteListener(new OnCompleteListener<DataReadResponse>() {
@Override
public void onComplete(@NonNull Task<DataReadResponse> task) {
}
});
Запрос выполняется успешно, но aggregated_heart_data
массивы пусты, хотя у меня есть значения сердечного ритма в GoogleFit App
** У меня есть разрешения BODY_SENSORS и разрешения на местоположение включены **