如何自定义谷歌智能锁账户列表对话框
Posted
技术标签:
【中文标题】如何自定义谷歌智能锁账户列表对话框【英文标题】:How to customise the google smart lock account list Dialog 【发布时间】:2016-02-24 03:45:38 【问题描述】:我一直在学习谷歌智能锁的教程,我可以成功保存,启动帐户列表对话框:
但是我不想使用谷歌的弹出窗口来选择帐户。我想知道我是否可以自定义第二张图片中的对话框,或者: 有没有办法一次检索所有凭据?
在我可以看到的示例代码中:
else if( status.getStatusCode() == CommonStatusCodes.RESOLUTION_REQUIRED )
resolveResult(status, RC_CREDENTIALS_READ);
private void resolveResult(Status status, int requestCode)
try
status.startResolutionForResult(MainActivity.this, requestCode);
catch (IntentSender.SendIntentException e)
Log.e(TAG, "Failed to send Credentials intent.", e);
那么在这个状态类的源码中:
我假设它正在向另一个应用程序发送一个pendingintent?
无论如何,如果我保存了超过 1 个凭据,我无法一次检索凭据。
可以这样做吗?
【问题讨论】:
不幸的是,如果没有用户交互,就无法自定义对话框或检索所有凭据。让我知道您对对话框的顾虑是什么,或者您想自定义什么,我会看看有什么可能! 【参考方案1】:我是 Google Smart Lock 的产品经理:
不,很遗憾,当设备上为 Google 帐户存储了多个凭据时,需要显示一个系统对话框以允许用户进行选择,并且调用应用程序无法自定义此对话框。出于隐私和安全原因,只有用户选择的凭据才会返回给调用应用程序。
在实践中,我们发现大多数用户对大多数应用都使用一个帐户,因此自动登录是最常见的场景,而对话框是一种不太常见的用户流程。
如果您对对话的疑虑或您认为可以改进的地方有任何反馈,请发表评论。谢谢!
【讨论】:
弹出对话框只有两个按钮,一个是“从不”,另一个是“保存密码”。如果用户不小心点击了“从不”,SmartLock 将被禁用,直到他使用 chrome 应用删除“从不保存密码”项,这对于“懒惰用户”来说步骤太多了,很可能是这个用户可能不会永远使用 SmartLock。 在我们看来,如果用户不想将他的密码保存到 SmartLock 一次,他很可能会单击“从不”,因为对话框只有两个按钮......其中很少知道如果他们点击屏幕上的其他任何地方,他们就可以关闭对话框......一旦他们点击从不,他们就失去了享受 SmartLock 的机会;(所以我们建议谷歌是否可以为对话框提供 3 个按钮,“从不” 、“否”、“保存密码”,这将使用户更容易理解他们在做什么;)不知道您是否认为这是一个好建议并将其转发给 SmartLock 团队 另外,如果用户只有一个凭证保存在 smartlock 中,每当您调用 Auth.CredentialsApi.request() 时,您都会在屏幕左下方看到一个弹出窗口,指示凭证...有没有办法不显示它?非常感谢史蒂文 这些都是好问题。您能否将有关保存对话框的问题作为一个单独的问题发布,我将写一个完整的答案来解释我们为什么以这种方式构建它?对于蓝条,有一个类似的现有问题,让我看看我是否可以在那里回答。 ***.com/questions/34800713/… 是的,外面的点击进入下面的 UI 是已知的待修复的错误:/以上是关于如何自定义谷歌智能锁账户列表对话框的主要内容,如果未能解决你的问题,请参考以下文章