尝试使用Flutter Firebase再次登录时,Google登录包的disconnect方法调用导致错误

jjhzyzn0  于 2023-01-14  发布在  Flutter
关注(0)|答案(1)|浏览(373)

我正在使用Firebase auth with Flutter,并使用google_sign_in软件包版本^5.2.3实现了google登录。我注意到在注销后,当我再次点击登录时,应用程序没有提示我选择要登录的google帐户,而是使用我以前使用过的帐户登录。
经过一番研究,我在注销流程中添加了以下代码

await GoogleSignIn().disconnect();
await FirebaseAuth.instance.signOut();

我可以注销,但当我尝试再次登录时,出现异常,并显示以下消息
平台异常(平台异常(异常,错误请求,空,空))
然而,如果我热重启应用程序,我可以登录,也得到提示,选择一个谷歌帐户,我想登录。谷歌登录插件github不允许问题归档,所以我不能在这里得到帮助。帮助感激。
Flutter 刮刀
$扑动医生
医生摘要(要查看所有详细信息,请运行flutter doctor-v):[√]扑动(通道稳定,2.8.1,在Microsoft Windows [版本10.0.18362.535]上,语言环境en-US)
[!] Android工具链-为Android设备开发(Android SDK版本30.0.0-rc2)

X cmdline-tools component is missing

  Run `path/to/sdkmanager --install "cmdline-tools;latest"`

  See https://developer.android.com/studio/command-line for more details.

X Android license status unknown.
  Run `flutter doctor --android-licenses` to accept the SDK licenses.
  See https://flutter.dev/docs/get-started/install/windows#android-setup for

更多细节。
[√] Chrome浏览器-为网络开发
[√]Android Studio (版本3.6)
【√】IntelliJ IDEA社区版(版本号:2018.1)
[!] IntelliJ IDEA终极版(版本2016.2)

X This install is older than the minimum recommended version of 2017.1.0.

[√] VS代码,32位版本(版本1.63.2)
[√]已连接器械(2个可用)
!医生发现2类问题。

ki1q1bka

ki1q1bka1#

我把答案留给另一个有同样错误的人作为参考。

await GoogleSignIn().signOut();

在图标按钮中实现:

IconButton(
                  onPressed: (() async {
                    await FirebaseAuth.instance.signOut();
                    await GoogleSignIn().signOut();
                  }),
                  icon: const Icon(Icons.exit_to_app))

相关问题