1

我正在开发一个应用程序并实现了智能锁。

问题是,起初,我的手机中有几个谷歌帐户,当我按下登录时,出现一个智能锁模式,说..继续..然后出现我所有帐户的列表(即使我没有使用那些我的应用程序或任何其他应用程序中的帐户,例如我有一个专门用于谷歌日历的帐户,它显示)最后我没有按上述任何一个。然后我输入凭据并正确保存。

之后,一切都按预期工作,这意味着在关闭应用程序并重新打开后,智能锁正确地自动完成凭据并且我正确输入。

我想知道我错过了什么,如果我进入发现他们只是显示我以前登录的帐户,而不是全部。

我发现了一些额外的信息,但显然没有有效的答案。

Smart Lock 多帐户分辨率始终显示

Smart Lock 显示不是来自我的应用的帐户

以防万一问题不清楚.. 如何过滤我的域或应用程序中以前使用的帐户?或者如何取出该模式(现在它就像自动填充器一样,以防任何显示的电子邮件与您正在寻找的电子邮件匹配。

4

2 回答 2

0

自问题发布以来已经有很长时间了,但为了记录,我还是会回答它。

当您请求凭据但用户之前没有保存任何凭据时,您将收到类型ResolvableApiException和状态代码SIGN_IN_REQUIRED的错误。如果您尝试通过调用来解决它startResolutionForResult(),Google SDK 将显示一个对话框,其中包含一些不包含密码的不相关帐户。这与使用提示选择器功能时出现的对话框相同。从文档中看不是很明显,但这是我在手动测试后看到的。

为避免这种情况,您必须在请求解决之前检查错误代码是否正是RESOLUTION_REQUIRED 。

client.request(credentialRequest)
  .addOnSuccessListener { response ->
    // ...
  }
  .addOnFailureListener { exception ->
    if (exception is ResolvableApiException && exception.statusCode == RESOLUTION_REQUIRED) {
      exception.startResolutionForResult(activity, REQUEST_CODE)
    }
于 2019-12-09T12:56:47.930 回答
0

我想你要找的就在这里

https://developers.google.com/identity/smartlock-passwords/android/associate-apps-and-sites

添加该 json 文件和应用程序,您将被设置

于 2019-06-01T14:18:53.327 回答