Google 测试时不会出现用于保存凭据的 Smart Lock 对话框

Google Smart Lock dialog for saving credentials does not appear when testing

我正在尝试将用户的 Facebook 凭据保存到 Google Smart Lock,但我在测试时遇到了困难。我能够显示一次保存提示,但在我进入我保存的密码 (passwords.google.com) 并删除保存的凭据后,提示不再出现!

我进入 google 设置并确保从 "never save" 部分删除应用程序,但它仍然没有出现。当我调用 Auth.CredentialsApi.save() 时,它以 "null" 的分辨率和消息 "The current app is blacklisted"

返回

我找到了解决方案并想 post 以防其他人也遇到这个问题。问题是我的设备上有多个 google 帐户,我需要从每个帐户的 "Never save" 列表中删除我的应用程序。

Double-check如果API返回的错误信息是"The current app is blacklisted",当"Never"在过去的某个时刻被选中时会被触发保存对话框(已接受答案中的详细信息:需要检查设备上的所有帐户)。

一般来说,如果您在测试时没有看到保存对话框,请检查以下事项:

  • 尝试使用真实设备 (Android 4+) 而不是模拟器,确保设备是 运行 最新版本的 Google 播放服务 ( 8+) 并且有活跃的互联网连接

  • 验证设备至少有一个 Google 帐户并且该帐户状态良好(不需要密码 re-entry 并且满足任何公司政策要求) ,例如,检查设备是否成功收到该帐户的电子邮件推送通知

  • Google设置应用> Smart Lock for Passwords(pre-Marshmallow ) 或 设置 > Google > Smart Lock for Passwords (Marshmallow),确保设备上的帐户至少有一次显示为启用了 Smart Lock for Passwords 功能且未启用passphrase encryption, see

  • 显示为禁用
  • 在相同的 Smart Lock for Passwords 设置 activity 中,还要检查应用程序是否不在任何 "Never save" 列表中设备上的帐户(如接受的答案中所述)。设置顶部有一个帐户选择器下拉菜单 activity UI.

  • 检查是否正在调用 Auth.CredentialsApi.save() 回调,并且 CredentialRequestResult getStatus().getStatusCode()RESOLUTION_REQUIRED 并且您调用了 startResolutionForResult(). Sample app

  • 请注意,您 startResolutionForResult() 所在的 Activity 不得 finish() 在对话框显示和用户交互完成之前调用 onActivityResult()

  • 另请注意,调用 Auth.CredentialsApi.save() 时使用的凭据的电子邮件标识符与设备上的 Google 帐户相匹配,并且设置的帐户类型代替了密码,保存将成功而无需解决。类似于更新具有匹配标识符的现有密码凭证。检查 passwords.google.com 您设备上的 Google 个帐户以查看当前保存的凭据

如果 none 这些都有效,请尝试向设备添加一个新的 Google 帐户,并尝试另一个与 Smart Lock 集成的应用程序,例如创建并保存一个 email-based 帐户您设备上的 NYTimes 应用程序,并确定它是 device/account-specific 问题还是您的应用程序实施有问题,并随时发表评论以提供详细信息。

有关在应用中测试 Smart Lock API 集成的完整指南,请查看

我在尝试登录时遇到同样的问题,提示对话框没有弹出,并且没有触发onActivityResult,为了解决它,我删除了android:noHistory = "true" 来自清单 够了。

试试这个:

转到Phone设置->Google->管理您的帐户->安全选项卡->向下滚动并select密码管理器->单击右上角的设置图标。

您将看到拒绝的应用和网站列表,从该列表中删除您的应用。

帮助我解决错误:

Save failed.16: The save prompt is disabled for the current app. To restore, remove this app from the "Never save" list in the Smart Lock for Passwords settings for all accounts on this device.