我正在我的应用程序中实现谷歌智能锁。我让它用一个帐户自动登录用户,并且运行良好。
然而,一旦我添加了第二个帐户的混合,它总是显示分辨率对话框,以选择我想要的帐户。这继续显示,即使在我已经选择和帐户,并重新启动应用程序。
这个对话框应该不再显示,一旦我选择了我想要智能锁使用的帐户,那么它仍然显示的一些可能的原因是什么?
-Thank你
发布于 2015-12-30 22:47:36
我在谷歌的智能锁团队工作,希望这能回答你的问题:
CredentialsApi.request() API方法,并且该应用程序有多个保存的帐户,存储在设备上的一个或多个谷歌帐户中(或者用户已经禁用了他们的一个帐户的自动登录,或者开发者通过调用CredentialsApi.disableAutoSignIn()禁用了自动登录),那么API将使用带有getStatusCode() of RESOLUTION_REQUIRED的CredentialRequestResult回调,这意味着用户必须显示UI才能选择继续使用的凭据。startResolutionForResult()将显示对话框,如API概述中所述。CredentialsApi.disableAutoSignIn()将阻止用户在再次启动身份验证活动时自动重新登录,并且在用户从凭据选择器UI中选择条目或成功进行CredentialsApi.save()调用时,将自动管理和清除禁用状态,此时将建立用户会话,并且在注销事件之前不需要再次调用API。我认为这个问题中的混淆源于在用户登录之后调用API,并且他们可能已经有了一个活动会话。这就是你的意图吗?如果您需要在用户检索或输入密码之后管理设备上应用程序的凭据,您可以在安卓上使用帐户经理,它独立于任何谷歌帐户或app (而智能锁则是为了将登录信息保存在云中,以便在新的或单独的设备上跨平台使用,以引导auth进程)。
在未来,如果存储了多个帐户,并且总是选择相同的帐户,那么我们将考虑记住用户首选项,从而允许自动登录,但是现在,当有多个已保存的帐户可用时,用户操作总是必需的。
如果您需要更多的信息或澄清,或者如果您没有回答您的问题,请留下评论和任何问题或反馈!
发布于 2015-12-30 17:05:41
当您有多个帐户时,您将始终显示此解析对话框。看这个:

来自:https://developers.google.com/identity/smartlock-passwords/android/overview
https://stackoverflow.com/questions/34046855
复制相似问题