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

时间:2012-07-17 22:31:53

标签: android android-webview password-protection

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

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

6 个答案:

答案 0 :(得分:40)

试试这个:

使用.getSettings()获取网页设置并设置此方法setSavePassword(false)

public void setSavePassword (boolean save)

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

对于那些使用API​​等级18的人,请参阅下面Kirk Hammet的回答。

答案 1 :(得分:24)

@Nikola Despotoski在他发布答案的时候回答是正确的,但这个方法自API 18 后就已弃用,并且根据documentation

  

将来版本不支持在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"
    }

答案 2 :(得分:2)

下面是那些像我一样需要看到它的人的代码片段

    WebView webView = (WebView) findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setSavePassword(false);

答案 3 :(得分:0)

我已经拥有上述所有内容并在我的华为Ascend P7上使用了该应用程序,该应用程序的运行速度超过了18。但出于某种原因,我仍然看到一个确认框说“#34;您是否希望浏览器记住此密码? ?&#34;

这个弹出窗口可能是什么原因。我试过以下代码。

_viewSettings.setSavePassword(false);  
if (Build.VERSION.SDK_INT <= 18) {  
    _viewSettings.setSavePassword(false);  
}  
_view.loadUrl(url);

注意:以上内容并未在三星设备上显示任何保存消息。

答案 4 :(得分:0)

如果它在WebView中......只需添加autocomplete =“off”属性即可形成?

答案 5 :(得分:0)

它没有像您想象的那样折旧,我不得不删除版本检查,因为我在华为5.01设备上收到提示并禁用FormData ...

    webview.getSettings().setSavePassword(false);
    webview.getSettings().setSaveFormData(false);