首页 文章

为什么Google应用在非密码输入字段中有TYPE_TEXT_VARIATION_PASSWORD

提问于
浏览
0

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

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

现在用户已经报告我的应用程序试图填写Google翻译应用程序的翻译字段(当我将源语言设置为英语时我可以重现)甚至是电话拨号器(我可以使用Android 8.1在Google Pixel手机上重现) .0) . 在这两种情况下,InputType都设置了标志 TYPE_TEXT_VARIATION_PASSWORD . 但是,这些字段都不显示为密码(带星号),所以我想知道我对这种输入类型的理解是否不正确?为什么Google会将此标志添加到输入类型?我应该如何检查"is this a password field"?

1 回答

  • 0

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

相关问题