Google Fit findDataSources找不到WEIGHT数据源

时间:2019-02-07 14:33:49

标签: android google-fit google-fit-sdk

是否有可能尽快读取体重?

我使用这种方式:

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,但不是好方法,因为必须使用服务来实现池化

0 个答案:

没有答案