Отключение автовстречи в WebView?

У меня есть некоторые текстовые вложения HTML в WebView, и мне нужно отключить автообнаружения на этих входах от Android, а не из HTML (autocomplete = off).

Как я могу это сделать?

Ответы

Ответ 2

Предлагаемые выше ответы мне не помогли. Итак, я нашел следующее решение: я просто создал простую оболочку для WebView и использовал ее.

public class NoSuggestionsWebView extends WebView {
    public NoSuggestionsWebView(Context context) {
        super(context);
    }

    public NoSuggestionsWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public NoSuggestionsWebView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
        InputConnection ic = super.onCreateInputConnection(outAttrs);

        outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* clear VARIATION type to be able to set new value */
        outAttrs.inputType |= InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD; /* WEB_PASSWORD type will prevent form suggestions */

        return ic;
    }
}

Ответ 3

В дополнение к установке setSaveFormData как False, это также помогло мне

WebView.getSettings().setSavePassword(false);
WebView.clearFormData();

Ответ 4

Я не мог сделать это со стороны Android, однако при добавлении к текстовому вводу текста spellcheck = "false" сделал трюк.

<textarea spellcheck="false"></textarea>

Ответ 5

Если он уже имеет данные формы, то setSaveFormData(false) не остановит его использование. Чтобы очистить базу данных, вам может потребоваться сделать следующее:

WebViewDatabase.getInstance(this).clearFormData();