将手动输入添加到 Google Fit
Adding manual inputs to Google Fit
是否可以将手动输入(距离 walked/run)发送到 Google Fit?
我的目的是制作一个简单的应用程序,它可以将用户输入的步数或步行的英里数传递给 Google Fit.
这样用户就可以从其他没有 Google Fit 集成的健身设备输入自己的读数。
是的,看看如何使用 Fitness History,您可以使用历史记录手动输入数据 API
是的,您可以通过以下代码来做到这一点。您会发现 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);
是否可以将手动输入(距离 walked/run)发送到 Google Fit?
我的目的是制作一个简单的应用程序,它可以将用户输入的步数或步行的英里数传递给 Google Fit.
这样用户就可以从其他没有 Google Fit 集成的健身设备输入自己的读数。
是的,看看如何使用 Fitness History,您可以使用历史记录手动输入数据 API
是的,您可以通过以下代码来做到这一点。您会发现 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);