问题描述
我正在尝试实施 Android 一键登录,但无法在此处显示此对话框:
我一直收到消息:com.google.android.gms.common.api.ApiException: 16: Skipping password saving since the user is likely prompted with Android Autofill.
我该如何解决这个问题?
代码:
private fun saveCredentials(email: String,password: String) {
val signInPassword = SignInPassword(email,password)
val savePasswordRequest =
SavePasswordRequest.builder().setSignInPassword(signInPassword).build()
// Show the password save dialog
Identity.getCredentialSavingClient(this)
.savePassword(savePasswordRequest)
.addOnFailureListener {e ->
Log.d(TAG,Log.getStackTraceString(e))
}
.addOnSuccessListener { result ->
startIntentSenderForResult(
result.pendingIntent.intentSender,REQUEST_CODE_SAVE_CREDENTIALS,null,// fillInIntent
0,// flagsMask
0,// flagsValues
0,// extraFlags
null) // options
}
}
文档:https://developers.google.com/identity/one-tap/android/save-passwords
解决方法
我发现只有当您关闭手机上的自动填充服务时,“一键登录”中的保存密码对话框才会显示。您可以通过转到 Settings > Languages & input > Advanced > Autofill Service
来执行此操作。
如果自动填充开启,您将从自动填充服务中获得保存密码对话框,与 One Tap 库提供的对话框相比,该对话框看起来有点过时。