如何向Google Health Connect添加冥想/正念数据?React Native开发求助
向Google Health Connect添加冥想/正念数据的可行方案
目前ExerciseSessionRecord确实没有专门的冥想类型,不过有两种可靠的方式来记录这类数据:
1. 通用类型+自定义标识(兼容低版本)
选择EXERCISE_TYPE_OTHER作为运动类型,通过title或notes字段明确标注为冥想/正念训练,数据可正常存入Health Connect,用户也能通过标题识别内容。
调整后的示例代码:
private val healthConnectClient by lazy { HealthConnectClient.getOrCreate(context) } healthConnectClient.insertRecords( listOf( ExerciseSessionRecord( startTime = start.toInstant(), startZoneOffset = start.offset, endTime = end.toInstant(), endZoneOffset = end.offset, exerciseType = ExerciseSessionRecord.EXERCISE_TYPE_OTHER, title = "正念冥想", notes = "10分钟专注呼吸训练" // 可选:补充详细训练描述 ) ) )
2. 使用专属MindfulnessSessionRecord(推荐)
Google Health Connect后续版本新增了MindfulnessSessionRecord,专门用于记录冥想、正念类训练数据,属于androidx.health.connect.client.records包,需确保依赖版本在1.1.0及以上。
使用示例:
import androidx.health.connect.client.records.MindfulnessSessionRecord private val healthConnectClient by lazy { HealthConnectClient.getOrCreate(context) } healthConnectClient.insertRecords( listOf( MindfulnessSessionRecord( startTime = start.toInstant(), startZoneOffset = start.offset, endTime = end.toInstant(), endZoneOffset = end.offset, title = "引导式正念练习", notes = "专注身体扫描训练" // 可选字段 ) ) )
注意:使用该类型需在权限声明中添加对应权限:
<uses-permission android:name="android.permission.health.WRITE_MINDFULNESS_SESSIONS" /> <uses-permission android:name="android.permission.health.READ_MINDFULNESS_SESSIONS" />
若你在React Native中使用第三方封装的Health Connect库,需确认库是否支持MindfulnessSessionRecord;若未支持,需自行封装原生模块调用该API。
内容的提问来源于stack exchange,提问作者Crazy Developer
相关产品推荐
相关产品推荐

