如何自定义谷歌智能锁账户列表对话框

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 是已知的待修复的错误:/

以上是关于如何自定义谷歌智能锁账户列表对话框的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义谷歌课堂分享按钮的外观

如何在 Flutter 中自定义谷歌地图标记图标

为当前位置自定义谷歌地图蓝点

swift ios中的自定义谷歌地图标记图标图像

如何自定义谷歌地图以接收特定位置的通知

如何上传图片,然后在 iOS 中基于该图片执行自定义谷歌图片搜索?