Google智能锁定对话框未出现在Android O设备中

时间:2017-11-07 23:04:31

标签: android android-8.0-oreo google-smartlockpasswords

我最近将GoogleSmartLock与我的应用集成在一起。不知何故,Android O设备中没有出现保存对话框,并且API正在抛出以下错误。

  

已禁用凭据API的保存确认对话框   避免与Android自动填充功能发生冲突。这个选择可能是   被覆盖的通道   AuthCredentialsOptions.Builder.forceEnableSaveDialog()。,   分辨率= NULL}

我检查了playservices的最新发行说明,发现以下API可以解决这个问题。

Auth.AuthCredentialsOptions.Builder forceEnableSaveDialog ()

但我不确定如何将这个api与GoogleApIClient一起使用,因为它没有在技术上应该返回AuthCredentialOptions实例的构建方法。如果有人遇到同样的问题,请告诉我。

2 个答案:

答案 0 :(得分:7)

更新1:此问题已在最新版本(版本11.8.0)中得到解决:

overview documentation的“定位Android O及以上版本”部分提供了代码示例(以及有关使用.forceEnableSaveDialog的更多文档),并且已更新为使用新选项类。< / p>

答案 1 :(得分:4)

AuthCredentialsOptions.Builder的公共SDK中缺少build()方法,我们修复了它(请参阅接受的答案)

但更重要的澄清:使用Google自动填充保存对话框将密码存储到同一个Smart Lock数据库,因此如果显示自动填充对话框,则无需担心使用API强制显示另一个对话框(实际上,如果你通过API强制对话,那么请确保禁止自动填充...用户不应该看到两个对话框)。通过任一对话框保存的数据将可用于Smart Lock自动登录(反之亦然,用于自动填充),数据通过Google帐户与Chrome同步(自动填充和API)。

由于对话框将数据存储到同一个地方,因此当用户将Google用作自动填充管理器时,我们选择向Google自动填充显示,因为它将为Oreo设备上的所有应用提供一致的体验。致力于改进错误消息,文档和品牌以澄清这一点。对不起,感到困惑。