解决小米 15 (HyperOS 3) 中 Google Play 服务不能授予“健身与健康”权限的问题
问题:
小米 15 更新 HyperOS 3.0.5.0 版本之后,打开 Google Fit 或者 Ingress 之类的软件会提示授予 Google Play 服务“健身与健康权限”,但是根据提示进入设置之后,Google Play 服务应用详情中并没有权限管理。
解决方法:使用 adb 命令授予相关权限。
准备:手机打开开发者模式,电脑上配置 adb 环境。
执行命令:adb shell pm grant com.google.android.gms 权限
相关权限:
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER
android.permission.health.READ_EXERCISE_ROUTES
android.permission.health.WRITE_EXERCISE_ROUTE
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX
android.permission.BODY_SENSORS
android.permission.BODY_SENSORS_BACKGROUND
android.permission.ACTIVITY_RECOGNITION
android.permission.ACCESS_FINE_LOCATION具体命令:
所有命令
adb shell pm grant com.google.android.gms android.permission.health.READ_STEPS
adb shell pm grant com.google.android.gms android.permission.health.WRITE_STEPS
adb shell pm grant com.google.android.gms android.permission.health.READ_HEART_RATE
adb shell pm grant com.google.android.gms android.permission.health.WRITE_HEART_RATE
adb shell pm grant com.google.android.gms android.permission.health.READ_OXYGEN_SATURATION
adb shell pm grant com.google.android.gms android.permission.health.WRITE_OXYGEN_SATURATION
adb shell pm grant com.google.android.gms android.permission.health.READ_SLEEP
adb shell pm grant com.google.android.gms android.permission.health.WRITE_SLEEP
adb shell pm grant com.google.android.gms android.permission.health.READ_EXERCISE
adb shell pm grant com.google.android.gms android.permission.health.WRITE_EXERCISE
adb shell pm grant com.google.android.gms android.permission.health.READ_TOTAL_CALORIES_BURNED
adb shell pm grant com.google.android.gms android.permission.health.WRITE_TOTAL_CALORIES_BURNED
adb shell pm grant com.google.android.gms android.permission.health.READ_DISTANCE
adb shell pm grant com.google.android.gms android.permission.health.WRITE_DISTANCE
adb shell pm grant com.google.android.gms android.permission.health.READ_SPEED
adb shell pm grant com.google.android.gms android.permission.health.WRITE_SPEED
adb shell pm grant com.google.android.gms android.permission.health.READ_POWER
adb shell pm grant com.google.android.gms android.permission.health.WRITE_POWER
adb shell pm grant com.google.android.gms android.permission.health.READ_EXERCISE_ROUTES
adb shell pm grant com.google.android.gms android.permission.health.WRITE_EXERCISE_ROUTE
adb shell pm grant com.google.android.gms android.permission.health.READ_VO2_MAX
adb shell pm grant com.google.android.gms android.permission.health.WRITE_VO2_MAX
adb shell pm grant com.google.android.gms android.permission.BODY_SENSORS
adb shell pm grant com.google.android.gms android.permission.BODY_SENSORS_BACKGROUND
adb shell pm grant com.google.android.gms android.permission.ACTIVITY_RECOGNITION
adb shell pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION或者使用 PowerShell 脚本:
PowerShell 一键脚本
$pkg = "com.google.android.gms"
$perms = @(
"android.permission.health.READ_STEPS",
"android.permission.health.WRITE_STEPS",
"android.permission.health.READ_HEART_RATE",
"android.permission.health.WRITE_HEART_RATE",
"android.permission.health.READ_OXYGEN_SATURATION",
"android.permission.health.WRITE_OXYGEN_SATURATION",
"android.permission.health.READ_SLEEP",
"android.permission.health.WRITE_SLEEP",
"android.permission.health.READ_EXERCISE",
"android.permission.health.WRITE_EXERCISE",
"android.permission.health.READ_TOTAL_CALORIES_BURNED",
"android.permission.health.WRITE_TOTAL_CALORIES_BURNED",
"android.permission.health.READ_DISTANCE",
"android.permission.health.WRITE_DISTANCE",
"android.permission.health.READ_SPEED",
"android.permission.health.WRITE_SPEED",
"android.permission.health.READ_POWER",
"android.permission.health.WRITE_POWER",
"android.permission.health.READ_EXERCISE_ROUTES",
"android.permission.health.WRITE_EXERCISE_ROUTE",
"android.permission.health.READ_VO2_MAX",
"android.permission.health.WRITE_VO2_MAX",
"android.permission.BODY_SENSORS",
"android.permission.BODY_SENSORS_BACKGROUND",
"android.permission.ACTIVITY_RECOGNITION",
"android.permission.ACCESS_FINE_LOCATION"
)
foreach ($p in $perms) {
Write-Host "Grant $p ..."
adb shell pm grant $pkg $p
}
Write-Host ""
Write-Host "Success! Press any key to exit..."
[void][System.Console]::ReadKey($true)