我是一名开发人员,致力于将 Google Fit 与智能可穿戴配套应用程序集成。我正在将步数数据导出到 google fit 应用程序。它大部分时间都可以工作,但随机有时它不起作用。所有每小时数据都已转储到 DataSet类并在 Fitness.getHistoryClient 函数中插入数据集。DataSet 对象有几个小时的步骤,我收到了 200 个 API 响应,但在 Google Fit 应用程序中看不到数据。
有人可以帮助我吗?
这是我的代码,
val dataSource = DataSource.Builder()
.setAppPackageName(context)
.setDataType(DataType.TYPE_STEP_COUNT_DELTA)
.setStreamName(TAG + AppConstants.STEPSCOUNT_FIT.value)
.setType(DataSource.TYPE_RAW)
.build()
// Create a data set
var dataSet = DataSet.create(dataSource)
dataSet = fillStepsData(dataSet)
LogHelper.i(TAG, "Inserting the dataset in the History API.")
val lastSignedInAccount = GoogleSignIn.getLastSignedInAccount(context)
return if (lastSignedInAccount != null) {
Fitness.getHistoryClient(context, lastSignedInAccount)
.insertData(dataSet)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
// At this point, the data has been inserted and can be read.
LogHelper.i(TAG, "Data insert was successful!")
readHistoryData()
} else {
LogHelper.e(
TAG,
"There was a problem inserting the dataset.",
task.exception
)
}
}
}
fillStepsData(dataSet) - 此函数返回 DataSet。DataSet 包含包含所有每小时数据的 DataPoint。