向Google Fit添加手动输入

问题描述 投票:0回答:2

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

android google-fit google-fit-sdk
2个回答
1
投票

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


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);
© www.soinside.com 2019 - 2024. All rights reserved.