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 应用中有心率值,数组也是空的
**我启用了 BODY_SENSORS 权限和位置权限 **