android - 谷歌登录,当用户需要重新登录帐户时如何正确处理错误情况
问题描述
- 我正在我的应用程序中进行 Google 注册实施。注册本身可以正常工作,但我很困惑,因为我找不到处理下一个错误的方法。
- 用户在他的手机中保存了 Google 帐户。此帐户出现在 Google 帐户选择弹出窗口中,可用于注册。如果我更改了 Google 帐户密码并且不再登录到我的手机,则会出现此错误。现在,当我尝试使用 Google 帐户时,我收到以下状态的错误:
googleSignInStatus=Status{statusCode=未知状态码:12501,分辨率=null}
弹窗截图:
override fun onCreate(savedInstanceState: Bundle?) {
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestServerAuthCode(getString(R.string.server_client_id))
.build()
mGoogleApiClient = GoogleApiClient.Builder(this)
.enableAutoManage(this, this)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build()
mGoogleApiClient?.registerConnectionFailedListener(this)
} //Code that is used to init sign in client
public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_SIGN_IN) {
val result = Auth.GoogleSignInApi.getSignInResultFromIntent(data)
Timber.tag("TRY_TO_HANDLE").d(data.extras?.toString())
Timber.tag("TRY_TO_HANDLE").d(result.status.toString())
Timber.tag("TRY_TO_HANDLE").d(result.status.statusMessage)
}} //Code that handle result
//googleSignInStatus=
Status{statusCode=unknown status code: 12501, resolution=null}
- 我想处理错误并显示 Google 登录屏幕,以便用户登录他的帐户并能够在我的应用程序中使用它进行注册。
- 我研究了官方文档,但一无所获。我认为这是可能的,因为一些支持谷歌登录的应用程序以这种方式工作(例如,速卖通应用程序)。
- 谁能向我解释如何实现它?
解决方案
您是否尝试过删除帐户并再次尝试使用注册。
mClient.clearDefaultAccountAndReconnect()
推荐阅读
- python - SQLite 在插入查询中使用变量
- rest - 如何发送文件作为响应
- java - 错误 - 在索引 0 *1 附近悬空元字符“*”
- batch-file - 有没有办法通过 bat 脚本设置 Perforce 工作区的视图?
- python - Python 在线程类函数中广播更新的 Web-socket 数据
- php - 即使关闭浏览器窗口,我如何才能将 PHP 会话保持 1 年或更长时间?
- angular - 节点模块文件中的 amazon-cognito-identity-js 冲突
- python - Python:Ridge 回归 - 使用 GridSearchCV 后,“Ridge”对象没有属性“coef_”
- reactjs - 显示来自 redux 的数据子集的最佳方式是什么?
- javascript - 多个内联的问题