Как отключить диалог "сохранить пароль" на Android WebView?

Я хотел бы знать, как предотвратить форму Android WebView с просьбой сохранить "пароль-данные" из html-формы?

можете ли вы помочь мне в этом?

6 ответов


попробуйте это:

получить настройки webview с .getSettings() и установите этот метод setSavePassword(false)

public void setSavePassword (boolean save)

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

для тех, кто использует уровень API 18, см. ответ Кирка Хаммета ниже.


@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"
    }

вот фрагмент кода для таких, как я, которые должны видеть его так, как он должен быть введен

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

У меня есть все вышеперечисленное и использовал приложение на моем Huawei Ascend P7, который работает выше 18. Но по какой-то причине я все еще вижу окно подтверждения, говорящее: "вы хотите, чтобы браузер запомнил этот пароль?"

каковы могут быть причины этого всплывающего окна. Я пробовал приведенный ниже код.

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

Примечание: выше не показывает никаких сообщений о сохранении на устройствах Samsung.


Если он находится в WebView... просто добавьте атрибут autocomplete= " off " в форму?


его не так обесценился, как вы могли бы подумать, мне пришлось удалить проверку версии, поскольку я получал приглашение на устройстве Huawei 5.01 и отключил FormData...

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