Google Fit在Android中插入TYPE_WORKOUT_EXERCISE

时间:2015-12-14 14:05:04

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

我想在谷歌健身中添加我的应用程序的锻炼。所以我现在尝试使用卷发锻炼,就像在官方示例中一样......我的代码是:

// Create a data source
        DataSource dataSource = new DataSource.Builder()
                .setAppPackageName(this)
                .setDataType(DataType.TYPE_WORKOUT_EXERCISE)
                .setName(getResources().getString(R.string.app_name))
                .setType(DataSource.TYPE_RAW)
                .build();

//        // Create a data set
        DataSet dataSet = DataSet.create(dataSource);
        DataPoint curls = DataPoint.create(dataSource);
        curls.setTimestamp(now.getTime(), TimeUnit.MILLISECONDS);
        curls.getValue(Field.FIELD_EXERCISE).setString(WorkoutExercises.BICEP_CURL);
        curls.getValue(Field.FIELD_DURATION).setInt(30000);
        curls.getValue(Field.FIELD_REPETITIONS).setInt(10);
        curls.getValue(Field.FIELD_RESISTANCE_TYPE).setInt(Field.RESISTANCE_TYPE_DUMBBELL);
        curls.getValue(Field.FIELD_RESISTANCE).setFloat(20.0f);
        dataSet.add(curls);

Fitness.HistoryApi.insertData(mClient, dataSet)
                .setResultCallback(new ResultCallback<Status>() {
                    @Override
                    public void onResult(Status status) {
                        if (status.isSuccess()) {
                            Log.i(TAG, "Data insert was successful!");
                        } else {
                            // The deletion will fail if the requesting app tries to delete data
                            // that it did not insert.
                            Log.i(TAG, "There was a problem inserting the dataset.");
                            //TODO store dataset to send it later or make this as a service
                        }
                    }
                });

问题是插入方法记录成功,但我发现Google Fit中没有添加任何数据。我尝试过其他类型的锻炼,比如Planks得到相同的结果。然而,添加步骤计数工作,如在历史示例中的官方插入,所以我想我错过了与类型锻炼相关的事情。有线索吗?

0 个答案:

没有答案