2

Google フィット履歴に体脂肪率を挿入しようとしましたがinsertStatus.isSuccess()、false を返します。以下は私のコードです

     Calendar cal = Calendar.getInstance();
        Date now = new Date();
        cal.setTime(now);
        long endTime = cal.getTimeInMillis();
        cal.add(Calendar.HOUR_OF_DAY, -1);
        long startTime = cal.getTimeInMillis();

        // Create a data source
        DataSource dataSource = new DataSource.Builder()
                .setAppPackageName(this)
                .setDataType(DataType.TYPE_BODY_FAT_PERCENTAGE)
                .setName(TAG + " - body fat")
                .setType(DataSource.TYPE_RAW)
                .build();

        // Create a data set
        float value = 20;
        DataSet dataSet = DataSet.create(dataSource);
        DataPoint dataPoint = dataSet.createDataPoint()
                .setTimestamp(endTime,TimeUnit.MILLISECONDS);
//                .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS);
        dataPoint.getValue(Field.FIELD_PERCENTAGE).setFloat(value);
        dataSet.add(dataPoint);

そして挿入データコードの下

   Log.i(TAG, "Inserting the dataset in the History API");
            com.google.android.gms.common.api.Status insertStatus =
                    Fitness.HistoryApi.insertData(mClient, dataSet)
                            .await(1, TimeUnit.MINUTES);

            // Before querying the data, check to see if the insertion succeeded.
            if (!insertStatus.isSuccess()) {
                Log.i(TAG, "There was a problem inserting the dataset.");
                return null;
            }
4

1 に答える 1

1

データポイントに値を直接追加できると思いますがTYPE_BODY_FAT_PERCENTAGE、サブタイプフィールドがありません.Like below .

dataPoint.setFloatValues((Float) values)
于 2015-10-15T15:36:02.967 に答える