我的应用提供Android Oreo自动填充服务。它试图通过使用自动填充提示来检测潜在的凭证表单,或者如果这些提示不存在(大多数当前应用程序都是这种情况),则可以通过其他启发式方法来检测。
主要的启发式方法是检测密码字段,我目前通过查看InputType
返回的getInputType()
来检查密码字段,请参阅https://developer.android.com/reference/android/app/assist/AssistStructure.ViewNode.html#getInputType()
现在用户已经报告我的应用程序试图填写Google翻译应用程序的翻译字段(我将原始语言设置为英语时可以重现)甚至是电话拨号程序(我可以在Google Pixel手机上重现)使用Android 8.1.0)。在这两种情况下,InputType都设置了标志TYPE_TEXT_VARIATION_PASSWORD
。但是,这些字段都没有显示为密码(带星号),所以我想知道我对这种输入类型的理解是否不正确?为什么Google会将此标志添加到输入类型?我该如何检查"这是一个密码字段"?
答案 0 :(得分:0)
View的 inputType 独立于视图的 autofillHints - 您可以使用它来帮助您的启发式,但您不能假设每个字段都有密码变体的inputType 具有作为密码的逻辑含义。