Google Fit findDataSources не находит источник данных ВЕСА - PullRequest
0 голосов
/ 07 февраля 2019

Возможно ли считывать вес, как только будут доступны данные ???

Я использую этот способ:

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());

НО, когда код трассировки видит источники данных, содержит только дельта-счет и накопленные источники данныхи НЕ содержит источник данных для веса

Я хочу сразу же прочитать любые изменения в fit data_type (я добавляю вес вручную в приложении Google Fit)

Обратите внимание, что я могу использовать HistoryApi, но это не очень хороший способ, потому что долженреализовать пул с использованием сервиса

...