向Google Fit添加手动输入

时间:2015-03-09 10:33:12

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

是否可以向Google Fit发送手动输入(步行/跑步距离)? 我的目的是制作一个简单的应用程序,它可以通过用户输入的步数或里程数进入Google Fit 因此,用户可以从其他没有Google Fit集成的健身设备输入自己的读数。

2 个答案:

答案 0 :(得分:1)

是的,看看使用Fitness History,您可以使用历史记录API手动输入数据

答案 1 :(得分:0)

是的,你可以通过以下代码来做到这一点。您会找到详细说明here

 Calendar cal = Calendar.getInstance();
    Date now = new Date();
    cal.setTime(now);
    cal.add(Calendar.MINUTE, 0);
    long endTime = cal.getTimeInMillis();
    cal.add(Calendar.MINUTE, -50);
    long startTime = cal.getTimeInMillis();

    // Create a data source
    DataSource dataSource = new DataSource.Builder()
            .setAppPackageName(activity)
            .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
            .setStreamName(TAG + " - step count")
            .setType(DataSource.TYPE_RAW)
            .build();

    // Create a data set
    DataSet dataSet = DataSet.create(dataSource);
    DataPoint dataPoint = dataSet.createDataPoint()
            .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS);
    dataPoint.getValue(Field.FIELD_STEPS).setInt((int) steps);
    dataSet.add(dataPoint);

    DataUpdateRequest request = new DataUpdateRequest.Builder()
            .setDataSet(dataSet)
            .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
            .build();

    com.google.android.gms.common.api.Status updateStatus =
            Fitness.HistoryApi.updateData(mApiClient, request)
                    .await(1, TimeUnit.MINUTES);