如何禁用Android WebView上的"保存密码"对话框?

aic*_*ngm 26 android password-protection android-webview

我想知道如何防止Android WebView表单要求从html表单保存"密码数据"?

你可以帮我解决这个问题吗?

Nik*_*ski 40

试试这个:

获取webview设置.getSettings()并设置此方法setSavePassword(false)

public void setSavePassword (boolean save)

http://developer.android.com/reference/android/webkit/WebSettings.html#setSaveFormData(boolean)

对于使用API​​等级18的用户,请参阅下面的Kirk Hammet的回答.

  • 此方法在 API 级别 18 中已弃用。未来版本将不支持在 WebView 中保存密码。 (2认同)

Tal*_*nel 24

@Nikola Despotoski在他发布答案的时候回答是正确的,但是自API 18以来这个方法已被弃用,并且根据文档:

将来的版本不支持在WebView中保存密码

这意味着默认情况下在android 4.4及更高版本中 - 默认值为"false",此方法根本不存在.

如果你想确保你兼容所有不同的API级别,你应该写:

  if (Build.VERSION.SDK_INT <= 18) {
        mWebView.getSettings().setSavePassword(false);
    } else {
        // do nothing. because as google mentioned in the documentation -
        // "Saving passwords in WebView will not be supported in future versions"
    }
Run Code Online (Sandbox Code Playgroud)

  • 好的,只需将Build.VERSION.SDK_INT <= 18更改为Build.VERSION.SDK_INT <18.在API 18中已弃用. (2认同)
  • @Nik:在API级别18中,此方法已弃用,但可以使用.从第19级 - 尝试调用此方法将抛出"没有这样的方法异常" (2认同)