我正在开发一个应用程序,并实现了智能锁。
问题是,起初,在我的手机中有几个Google帐户,当我按登录时,出现智能锁定模式。t在我的应用程序或任何其他应用程序中使用这些帐户,例如,我只有一个用于Google日历的帐户,并且它显示(最终我都不按上述内容。然后我输入凭据并正确保存。
之后,一切都按预期工作,这意味着关闭应用程序并重新打开后,智能锁正确地自动完成了凭据,我正确地输入了。
我想知道我缺少什么,如果我输入Spotify,他们只是在我之前登录的位置显示帐户,而不是全部。
我找到了一些额外的信息,但显然没有有效的答案。
智能锁多帐户分辨率总是显示
智能锁显示不从我的应用中显示帐户
以防万一问题不清楚。如何过滤我的域或应用程序中的先前使用的帐户?或者如何拿出这种模式(现在它像自动填料一样,如果显示的任何电子邮件都与您要寻找的任何电子邮件相匹配。
我认为您要寻找的是这里
https://developers.google.com/indistity/smartlock-passwords/android/associate-apps-and-sites
添加JSON文件和应用程序,您将设置
已经发布了问题已经很长时间了,但是我无论如何要回答文档。
当您请求凭据但用户以前没有保存任何凭据时,您将收到类型ResolvableApiException
和状态代码sign_in_required的错误。如果您尝试通过调用startResolutionForResult()
来解决它,则Google SDK将显示一个对话框,其中一些不相关的帐户不包含密码。使用提示器功能时,这是相同的对话框。从文档来看,这不是很明显,但这是我在手动测试后看到的。
要避免这种情况,您必须在请求分辨率之前检查错误代码是否完全解决。
client.request(credentialRequest)
.addOnSuccessListener { response ->
// ...
}
.addOnFailureListener { exception ->
if (exception is ResolvableApiException && exception.statusCode == RESOLUTION_REQUIRED) {
exception.startResolutionForResult(activity, REQUEST_CODE)
}