0

我的应用提供 Android Oreo 自动填充服务。它尝试通过使用自动填充提示来检测潜在的凭证表单,或者如果这些提示不存在(这是大多数当前应用程序的情况),则通过其他启发式方法。

主要启发式方法是检测密码字段,我目前通过检查InputType返回的 by 来执行此操作getInputType(),请参阅https://developer.android.com/reference/android/app/assist/AssistStructure.ViewNode.html#getInputType()

现在用户报告说我的应用程序试图填充谷歌翻译应用程序的翻译字段(当我将原始语言设置为英语时我可以重现)甚至电话拨号器(我可以在装有 Android 8.1 的 Google Pixel 手机上重现) .0)。在这两种情况下,InputType 都TYPE_TEXT_VARIATION_PASSWORD设置了标志。但是,这些字段都没有显示为密码(带星号),所以我想知道我对这种输入类型的理解是否不正确?为什么 Google 会将此标志添加到输入类型?我应该如何检查“这是一个密码字段”?

4

1 回答 1

0

视图的inputType独立于视图的autofillHints - 您可以使用它来帮助您进行启发式方法,但您不能假设每个具有密码变化的inputType的字段都具有作为密码的逻辑含义。

于 2018-03-21T19:02:43.337 回答