【问题标题】:Disable Google Password Manager list out saved passwords in Android?禁用 Google 密码管理器列出 Android 中保存的密码?
【发布时间】:2020-01-30 11:55:45
【问题描述】:

我无法执行我的 android espresso 单元测试,它失败了:

// (kotlin syntax)
closeSoftKeyboard()
onView(withId(R.id.et_login_mobile_number)).perform(TypeTextAction(invalidMobileNo))
closeSoftKeyboard()

androidx.test.espresso.InjectEventSecurityException: java.lang.SecurityException: 注入到另一个应用程序需要 INJECT_EVENTS 权限。

我终于了解到:任何意外动画出现在正在进行自动化测试的 UI 上都可能会中断该过程。

所以我怀疑这是由于 Google 密码管理器 提示保存的密码列表不断弹出,这可能是导致中断的原因。

我现在看的是:通过建议保存的密码关闭谷歌密码管理器的方法

我一直找到的是

Manage offers to save passwords

而且没有办法关闭/禁用它



在我最终从 Google 密码管理器中删除所有保存的密码后,现在它出现了建议自动填充文本(请比较两个屏幕截图)

我已包含以下属性,它仍然不阻止自动填充到 Android 8 及更高版本的设备。

android:inputType="number|textNoSuggestions|textFilter"


【问题讨论】:

标签: android android-layout passwords android-espresso autocompletetextview


【解决方案1】:

在 onCreate 方法之后插入以下行:

getWindow().getDecorView().setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS);

【讨论】:

    【解决方案2】:

    据此Answer

    android:importantForAutofill="no"
    

    用于防止 Android 8 及更高版本的 默认自动填充Google 密码管理器

    【讨论】:

      【解决方案3】:

      我认为您应该尝试删除当前保存的密码并将此应用添加到拒绝的应用列表中。 这是该应用将没有任何自动填充选项,并且不会显示弹出窗口。

      如果这有帮助,请告诉我。祝你好运。

      【讨论】:

      • 是的,一种方法是删除此应用程序的所有保存密码,但是,如果我以后想启用它怎么办?所有密码已被清除。这就是为什么我更喜欢有一个设置来启用和禁用它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 2012-05-19
      • 2022-01-21
      • 2021-02-01
      • 2011-12-31
      • 1970-01-01
      • 2022-10-23
      相关资源
      最近更新 更多