9

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

我进入谷歌设置并确保从“从不保存”部分删除该应用程序,但它仍然没有出现。当我调用 Auth.CredentialsApi.save() 时,它返回的分辨率为“null”并显示消息“当前应用已列入黑名单”

4

4 回答 4

14

仔细检查API返回的错误消息是否是“当前应用程序被列入黑名单”,这将在过去某个时间在保存对话框中选择“从不”时触发(已接受答案中的详细信息:需要检查设备上的所有帐户)。

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

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

  • 验证设备至少有一个 Google 帐户并且该帐户处于良好状态(不需要重新输入密码并且符合任何公司政策要求),例如,检查该帐户的电子邮件推送通知是否已成功接收由设备

  • Google 设置应用程序 > Smart Lock for Passwords (pre-Marshmallow) 或Settings > Google > Smart Lock for Passwords (Marshmallow) 中,确保设备上的帐户至少显示一次,并且启用了 Smart Lock for Passwords 功能并且没有显示为被密码加密禁用,请参阅相关问题

  • 在同一个Smart Lock for Passwords设置活动中,还要检查应用程序是否不在设备上任何帐户的“从不保存”列表中(如接受的答案中所述)。设置活动 UI 顶部有一个帐户选择器下拉菜单。

  • 检查Auth.CredentialsApi.save()回调是否被调用,并且CredentialRequestResult getStatus().getStatusCode()isRESOLUTION_REQUIRED和你已经调用了startResolutionForResult(). 示例应用

  • 请注意,在显示对话框并且用户交互完成之前,您startResolutionForResult()不能从中使用的 Activity ,调用finish()onActivityResult()

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

如果这些都不起作用,请尝试将新的 Google 帐户添加到设备,并尝试其他集成 Smart Lock 的应用,例如在您的设备上为NYTimes应用创建和保存基于电子邮件的帐户,并确定它是否是设备/帐户-您的应用程序实施的特定问题或问题,请随时发表评论并提供详细信息。

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

于 2016-01-17T02:57:49.217 回答
12

我找到了一个解决方案,并想发布以防其他人也有这个问题。问题是我的设备上有多个谷歌帐户,我需要从每个帐户的“从不保存”列表中删除我的应用程序。

于 2015-08-11T16:58:48.343 回答
0

尝试登录时,我在同一个问题上遇到了困难,没有弹出提示对话框,并且没有触发 onActivityResult,为了解决它,我从 Manifest 中删除了 android:noHistory = "true" 就足够了.

于 2019-10-09T18:10:59.313 回答
0

试试这个:

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

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

帮助我解决错误:

保存失败。16:当前应用禁用保存提示。要恢复,请将此应用程序从 Smart Lock for Passwords 设置中此设备上所有帐户的“从不保存”列表中删除。

于 2021-11-06T04:06:34.347 回答