Wear OS 上的 Health Services 使用以下不同权限
READ_HEART_RATE用于读取心率信息。ACTIVITY_RECOGNITIONACCESS_FINE_LOCATIONBODY_SENSORS(适用于 Wear OS 5.1 (API 级别 35) 及更低版本)BODY_SENSORS_BACKGROUND(适用于 Wear OS 4 (API 级别 33) 至 Wear OS 5.1 (API 级别 35) 之间,包括这两个版本)
请参阅下表,根据您想向用户呈现的健身数据类型,确定您的应用需要哪些权限。请务必遵循请求权限的基本原则,包括在上下文中请求权限。
如果您的应用以 API 级别 36 或更高版本为目标平台,并且使用 PassiveMonitoringClient 在后台访问身体传感器信息,请请求 READ_HEALTH_DATA_IN_BACKGROUND 权限。如果您的应用以 API 级别 33 至 35(含)之间为目标平台,请改为同时请求 BODY_SENSORS 和 BODY_SENSORS_BACKGROUND 权限。
| 数据类型 | 权限 |
|---|---|
CALORIES CALORIES_DAILY DISTANCE_DAILY DECLINE_DISTANCE DISTANCE ELEVATION_GAIN ELEVATION_LOSS FLAT_GROUND_DISTANCE FLOORS FLOORS_DAILY GOLF_SHOT_COUNT INCLINE_DISTANCE PACE REP_COUNT RUNNING_STEPS SPEED STEPS STEPS_DAILY STEPS_PER_MINUTE SWIMMING_LAP_COUNT SWIMMING_STROKES CALORIES_TOTAL WALKING_STEPS UserActivityInfo UserActivityState |
ACTIVITY_RECOGNITION
|
HEART_RATE_BPM |
READ_HEART_RATE |
ABSOLUTE_ELEVATION LOCATION |
ACCESS_FINE_LOCATION
|
迁移以支持 API 级别 36
如果您的应用以 Wear OS 6 (API 级别 36) 或更高版本为目标平台,请按照以下步骤将您的应用迁移到支持最新版本的 Wear OS 平台
在您的清单文件中,为旧版权限添加
maxSdkVersion,并添加现代的READ_HEART_RATE权限<uses-permission android:name="android.permission.BODY_SENSORS" android:maxSdkVersion="35" /> <uses-permission android:name="android.permission.health.READ_HEART_RATE" />如果您的应用需要在后台运行时访问身体传感器,请为旧版后台权限添加
maxSdkVersion,并添加现代的READ_HEALTH_DATA_IN_BACKGROUND权限<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND" android:maxSdkVersion="35" /> <uses-permission android:name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND" />在您的应用检查
BODY_SENSOR和BODY_SENSORS_BACKGROUND权限的所有位置,按 Wear OS 版本筛选,请求并确认已授予心率权限。例如if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) { this.add(HealthPermissions.READ_HEART_RATE) }