微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google登录“选择帐户以继续”循环

如何解决Google登录“选择帐户以继续”循环

我正在尝试通过Flutter应用实现以下软件包:

https://pub.dev/packages/permission_handler

https://pub.dev/packages/fit_kit

我通过编写以下两个函数来做到这一点:

Future<void> checkPermissions() async {
 var status = await Permission.activityRecognition.status;
 if (status.isUndetermined || status.isDenied) {
   Permission.activityRecognition.request();
}  else if (status.isPermanentlyDenied) {
   openAppSettings();
 }
}

Future<void> read() async {
 results.clear();
 await checkPermissions();
 for (DataType type in [DataType.STEP_COUNT,DataType.disTANCE]) {
   try {
     results[type] = await FitKit.read(
       type,dateFrom: _weekBeginning,dateto: _Now,);
   } on UnsupportedException catch (e) {
     results[e.dataType] = [];
   }
 }
 dailyStepBuffer = 0;
 dailydistanceBuffer = 0;
 for(FitData dataPoint in results[DataType.STEP_COUNT]){
   print(dataPoint);
   dailyStepBuffer += dataPoint.value.round();
 }
 for(FitData dataPoint in results[DataType.disTANCE]){
   print(dataPoint);
   dailydistanceBuffer += dataPoint.value.round();
 }
 setState(() {
   dailySteps = dailyStepBuffer;
   dailydistance = dailydistanceBuffer;
 });
}

这些功能和包可以在iOS上正常工作,但是由于某些原因,每当我在Android设备it shows me this sign in screen调用read()时,当我单击自己的帐户时,它都无济于事,错误

E/Flutter ( 8211): [ERROR:Flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: PlatformException(FitKit,User denied permission access,null)

我已使用SHA-1指纹获取了OAuth 2.0客户端ID,将<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>添加到了AndroidManifest.xml文件中,并将以下内容添加到了build.gradle中:

implementation 'com.google.android.gms:play-services-fitness:19.0.0'
implementation 'com.google.android.gms:play-services-auth:18.1.0'

不幸的是,这些似乎都没有解决问题。如果有人可以帮助我解决这个问题,我将非常感谢!

解决方法

您可以尝试flutter clean并检查是否持续吗?

,

似乎FitKit类具有requestPermissions方法。将其与FitKit.hasPermissions一起使用,以确保授予了必要的权限。

,

事实证明,由于某些原因,我的软件包名称和应用程序ID不同,因此在获取OAuth 2.0客户端ID时输入应用程序ID而不是软件包名称即可解决该问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。