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

Flutter使用health包在Android端获取workout数据时遇登录验证错误

解决Android端使用health包获取WORKOUT数据时的登录验证错误

针对你遇到的Android端获取WORKOUT数据提示"There was an error getting the workout data! 4: The user must be signed in to make this API call."问题,结合你的配置和代码,给出以下针对性解决方案:

1. 检查设备Google账号登录状态

Android端health包依赖Google Fit获取WORKOUT数据,即使权限请求成功,若设备未登录Google账号或Google Fit未关联有效账号,仍会触发登录错误:

  • 打开设备设置 > 账号,确认已登录Google账号
  • 打开Google Fit应用,确保该账号已关联并正常同步运动数据

2. 补充Google Fit OAuth Scope配置

虽然步数数据正常,但WORKOUT数据需要额外的OAuth权限范围,检查Google Cloud配置:

  • 进入Google Cloud控制台,找到你的OAuth 2.0客户端凭证
  • 在OAuth同意屏幕中,添加https://www.googleapis.com/auth/fitness.activity.read权限范围
  • 发布更新同意屏幕(测试环境需确保测试账号已添加到允许列表)

3. 验证WORKOUT权限的实际授权状态

requestAuthorization返回Access Granted不代表所有数据类型都成功授权,在授权后添加权限检查代码:

// 授权后检查各数据类型的权限状态
final statuses = await health.getPermissionsStatus(types);
for (var entry in statuses.entries) {
  print("${entry.key}: ${entry.value}");
}

若HealthDataType.WORKOUT对应的权限状态不是HealthDataAccess.READ,则需重新处理授权流程。

4. 补充AndroidManifest配置

除已添加的权限外,需添加Google Play服务相关配置:

<!-- 在<application>标签内添加 -->
<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />

同时针对Android 12+补充WORKOUT相关权限声明:

<uses-permission android:name="android.permission.health.READ_WORKOUT" />

5. 显式触发Google Sign-In验证

部分场景下,health包的授权流程可能未完成Google账号的显式登录验证,可手动添加Google Sign-In流程:

  1. 在pubspec.yaml添加依赖:
dependencies:
  google_sign_in: ^5.4.0
  1. 实现登录逻辑并在授权前执行:
import 'package:google_sign_in/google_sign_in.dart';

final GoogleSignIn _googleSignIn = GoogleSignIn(
  scopes: [
    'https://www.googleapis.com/auth/fitness.activity.read',
  ],
);

// 在调用health.requestAuthorization前执行
Future<void> signInWithGoogle() async {
  try {
    await _googleSignIn.signIn();
  } catch (error) {
    print("Google Sign-In error: $error");
  }
}

6. 确认Google Fit服务可用性

  • 打开Google Play商店,将Google Fit应用更新至最新版本
  • 在设备设置 > 应用 > Google Play服务中确认服务运行正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 19:45:19