是否有可能尽快读取体重?
我使用这种方式:
GoogleSignIn.requestPermissions(activity,GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,GoogleSignIn.getLastSignedInAccount(activity),
Fitness.SCOPE_ACTIVITY_READ,
Fitness.SCOPE_BODY_READ,
Fitness.SCOPE_LOCATION_READ,
Fitness.SCOPE_NUTRITION_READ);
Fitness.getSensorsClient(this, GoogleSignIn.getLastSignedInAccount(this))
.findDataSources(
new DataSourcesRequest.Builder()
.setDataTypes(
DataType.TYPE_WEIGHT,
DataType.TYPE_HEIGHT,
DataType.TYPE_STEP_COUNT_DELTA,
DataType.TYPE_STEP_COUNT_CUMULATIVE,
DataType.AGGREGATE_STEP_COUNT_DELTA,
DataType.TYPE_BASAL_METABOLIC_RATE,
DataType.TYPE_CALORIES_EXPENDED,
DataType.TYPE_CYCLING_PEDALING_CADENCE,
DataType.TYPE_CYCLING_PEDALING_CUMULATIVE,
DataType.TYPE_CYCLING_WHEEL_REVOLUTION,
DataType.TYPE_CYCLING_WHEEL_RPM,
DataType.TYPE_DISTANCE_CUMULATIVE,
DataType.TYPE_DISTANCE_DELTA,
DataType.TYPE_HEART_POINTS,
DataType.TYPE_HYDRATION,
DataType.TYPE_LOCATION_TRACK,
DataType.TYPE_NUTRITION,
DataType.TYPE_MOVE_MINUTES,
DataType.TYPE_SPEED,
DataType.TYPE_WORKOUT_EXERCISE
)
.setDataSourceTypes(DataSource.TYPE_RAW, DataSource.TYPE_DERIVED)
.build())
.addOnSuccessListener(
new OnSuccessListener<List<DataSource>>() {
@Override
public void onSuccess(List<DataSource> dataSources) {
for (DataSource dataSource : dataSources) {
Log.i(TAG, "Data source found: " + dataSource.toString());
Log.i(TAG, "Data Source type: " + dataSource.getDataType().getName());
但是,当跟踪代码看到dataSources仅包含step_count增量和累积数据源时,而没有包含权重数据源
我想立即读取关于fit data_type的任何更改(我在Google Fit应用中手动添加了体重)
请注意,我可以使用HistoryApi,但不是好方法,因为必须使用服务来实现池化