如何停止对话框将密码保存到Google?

11

我最近创建了一个应用程序,需要一些安全措施。 其中之一是我们需要阻止用户登录应用程序时来自谷歌的对话框。 主要问题是密码被保存在谷歌浏览器中。 当用户再次访问应用程序时,它会显示用户列表中的用户名自动登录选项,并自动添加密码,因此任何人都可以访问手机并登录应用程序以窃取数据。

目前,这个问题仅出现在One Plus 5设备上。 我想通过编程方式解决这个问题。

任何帮助将不胜感激,

谢谢

更新:

感谢Flyzzx的回复,我搜索了Android自动填充,并发现它是在Oreo中引入自动填充数据的。

但当在登录屏幕上检测到用户名/密码组合时,它会提示您保存密码。

解决方案如下:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        AutofillManager autofillManager = getSystemService(AutofillManager.class);
        autofillManager.disableAutofillServices();
        editText.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO);
    }

在这里,只需要 autofillManager.disableAutofillServices(); 就足够了,但是在某些设备上,您还应该添加 editText.setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO); 以使其生效。

对于所有您不想自动填充的文本编辑框,您都需要执行此操作。

希望这对像我一样的其他人有所帮助。


你尝试在输入框中使用autocomplete="off"吗?请参考https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion。 - Flyzzx
谢谢Flyzzx,但我想把它放在我的Android应用程序上,而不是Mozilla上。 - Gitesh
我不确定是否理解。这是一个原生的安卓应用程序还是安卓应用程序内的Webview?因为您在帖子中添加了google-chrome标签。提供给您的链接适用于所有浏览器。 - Flyzzx
添加 Google Chrome 标签的原因是密码会保存在 Chrome 的已保存密码中。是的,我的应用程序是本地应用程序。 - Gitesh
我遇到了这个问题。我尝试了你的解决方案,但是那个弹出窗口仍然出现。你还做了其他什么吗?@Gitesh - Maulik Dodia
1个回答

1

你只需要为你的editText视图添加一个属性即可。

android:importantForAutofill="no"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接