从Heatlh Kit发送步骤后,在华为健康应用程序上看不到这些步骤



我正试图使用华为健康工具包从我的应用程序发送步骤数据。步骤的插入似乎很有效,但我看不到华为健康应用程序上发送的值。这正常吗?

我已经检查了当前文档和示例代码中推荐的所有内容。

  • 用户通过身份验证请求作用域权限Scopes.HEALTHKIT_STEP_BOTH
  • 健康工具包已根据本页在控制台上正确配置
  • 设备上的Health应用程序是最新的(版本10.1.2.553(
  • 最新的SDK版本集成为:implementation "com.huawei.hms:health:5.0.3.300"implementation "com.huawei.hms:hwid:5.0.3.301"

下面是我用来发送测试值的代码:

// create DataCollector
val dataCollector = DataCollector.Builder()
.setPackageName(context)
.setDataCollectorName("My awesome device")
.setDataType(DataType.DT_CONTINUOUS_STEPS_DELTA)
.setDataStreamName("STEPS_DELTA")
.setDataGenerateType(DataCollector.DATA_TYPE_RAW)
.build()
// create a sample set and add the sampleSet into the collector
val sampleSet = SampleSet.create(dataCollector)

val dateFormat = SimpleDateFormat("yyyy-MM-dd hh:mm:ss")
val start = dateFormat.parse("2020-10-07 09:00:00").time
val end = dateFormat.parse("2020-10-07 10:00:00").time
val samplePoint: SamplePoint = sampleSet.createSamplePoint()
.setTimeInterval(start, end, TimeUnit.MILLISECONDS).apply {
getFieldValue(Field.FIELD_STEPS_DELTA).setIntValue(5000)
}
sampleSet.addSample(samplePoint)
// retrieve DataController and insert the built data
val hiHealthOptions = HiHealthOptions.builder()
.addDataType(
DataType.DT_CONTINUOUS_STEPS_DELTA,
HiHealthOptions.ACCESS_WRITE
)
.addDataType(
DataType.DT_CONTINUOUS_STEPS_DELTA,
HiHealthOptions.ACCESS_READ
)
.build()
val signInHuaweiId = HuaweiIdAuthManager.getExtendedAuthResult(hiHealthOptions)
val dataController = HuaweiHiHealth.getDataController(context, signInHuaweiId)
val updateOptions = UpdateOptions.Builder()
.setTimeInterval(start, end, TimeUnit.MILLISECONDS)
.setSampleSet(sampleSet)
.build()
// update task
dataController.update(updateOptions).apply {
addOnSuccessListener {
Log.d(TAG, "onSuccess update")
}
addOnFailureListener { error ->
Log.e(TAG, "onFailure update, error: $error")
}
}

我清楚地看到了值的更新,因为在Logcat中它打印

on成功更新

我还使用DataController上的read方法读取了值,并且能够检索我的数据。

我问自己的问题是:

  • 这些数据写在哪里:在本地数据库和/或华为健康云中
  • 我需要做些什么来要求在健康应用程序上同步这些数据吗

这些数据写在哪里:在本地数据库和/或华为健康云?

在本地数据库和华为健康云中。

我需要做点什么来请求在上同步此数据吗健康应用程序?

目前,Health Kit不支持将数据直接写入Health应用程序和服务。它将支持在2020年10月下旬读取健身和健康数据,并支持在2021年1月将数据直接写入健康应用程序和服务。


更新:

您可以在此处查看最新版本的健康工具包。checkHealthAppAuthorization和getHealthAppAuthorification API可用于检查用户是否已授予华为健康应用程序向健康工具包打开数据的权限。

相关内容

最新更新