You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Fit选择账号后卡在加载状态,添加血压读取权限后同意页无限加载

问题根因

  1. 依赖版本不兼容:你当前使用的play-services-fitness:20.0.0和play-services-auth:19.2.0版本不匹配,高版本Fit SDK对血压读取这类敏感健康数据的权限申请逻辑做了升级,旧版auth SDK无法适配新的同意页加载流程,就会出现无限加载的情况。
  2. 权限配置不规范:同数据类型的读写权限分两次添加,可能导致SDK校验权限时出现逻辑冲突;此外如果没有在AndroidManifest中补全对应系统级健康权限、Google Cloud控制台OAuth范围配置有遗漏,也会触发该问题。
  3. 本地账号缓存异常:之前未完成全部授权的账号信息缓存在本地,调用权限申请接口时传入了过期的账号状态,也会导致同意页加载失败。
  4. 测试账号未纳入白名单:如果应用还处于测试状态,未加入OAuth测试用户列表的账号申请敏感权限时也会出现加载异常。

修复步骤

  1. 升级匹配版本的依赖,建议升级到官方稳定适配的版本组合:
googleImplementation "com.google.android.gms:play-services-fitness:21.2.0"
googleImplementation "com.google.android.gms:play-services-auth:20.7.0"
  1. 优化FitnessOptions权限配置,合并同数据类型的权限申请:
val fitnessOptions = FitnessOptions.builder()
 .accessActivitySessions(FitnessOptions.ACCESS_READ or FitnessOptions.ACCESS_WRITE)
 //其他健身活动相关权限
 .addDataType(HealthDataTypes.TYPE_BLOOD_PRESSURE, FitnessOptions.ACCESS_READ or FitnessOptions.ACCESS_WRITE)
.build()
  1. 补全AndroidManifest.xml中的权限声明,根据你适配的安卓系统版本添加对应权限:
<!-- Google Fit基础权限 -->
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<!-- 安卓14及以上血压读写权限 -->
<uses-permission android:name="android.permission.health.READ_BLOOD_PRESSURE" />
<uses-permission android:name="android.permission.health.WRITE_BLOOD_PRESSURE" />
<!-- 安卓13及以下身体传感器权限 -->
<uses-permission android:name="android.permission.BODY_SENSORS" android:maxSdkVersion="32" />
  1. 核对Google Cloud控制台配置:进入OAuth同意屏幕配置页,确认https://www.googleapis.com/auth/fitness.blood_pressure.read和https://www.googleapis.com/auth/fitness.blood_pressure.write两个范围均已添加,且状态为已验证通过。如果应用处于测试阶段,确认当前测试账号已加入测试用户列表。
  2. 测试前先清除应用本地缓存,或者在触发权限申请前先调用GoogleSignInClient的signOut方法清除旧的账号授权缓存,再重新发起登录和权限申请流程。

内容的提问来源于stack exchange,提问作者Arefeh Iravanchi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:00:05