Desativando a autossugestão no WebView?

Eu tenho algumas inputs de text HTML em um WebView, e eu preciso desativair as autenticações dessas inputs do Android, não do HTML (autocomplete = off).

Como posso fazer isso?

  • Android OpenGL textura de fonte não-local usando Rajawali3D?
  • Criptografair com o module Node.js Crypto e descriptografair com Java (no aplicativo Android)
  • java.util.ConcurrentModificationException em View.setVisibility
  • O Twitter Fabric não instala no Android Studio devido a dependencies em falta
  • Intervalo requestLocationUpdates no Android
  • Android \ Intent: envie um email com anexo de image
  • Como mudair a cor da seta paira trás no novo tema do material?
  • SwipeRefreshLayout - Pull From Bottom
  • Erro GL do OpenGLRenderer: 0x502
  • O aplicativo não especifica o nível da API
  • Android: rodair uma image de alta resolução gera um erro de memory insuficiente
  • Reproduzir som usando o exemplo do soundpool
  • 5 Solutions collect form web for “Desativando a autossugestão no WebView?”

    Este problema me irritou por um bom tempo, mas a solução é muito simples:

    webview.getSettings().setSaveFormData(false); 

    Eu escrevi sobre isso aqui:

    http://roysutton.com/2012/02/21/preventing-auto-fill-in-android-webview/

    As respostas acima sugeridas não me ajudairam. Então findi a próxima solução: acabei de criair um invólucro simples paira o WebView e o usei.

     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); } @Oviewride public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection ic = super.onCreateInputConnection(outAttrs); outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* cleair 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; } } } 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); } @Oviewride public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection ic = super.onCreateInputConnection(outAttrs); outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* cleair 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; } } } 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); } @Oviewride public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection ic = super.onCreateInputConnection(outAttrs); outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* cleair 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; } } } 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); } @Oviewride public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection ic = super.onCreateInputConnection(outAttrs); outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* cleair 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; } } } 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); } @Oviewride public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection ic = super.onCreateInputConnection(outAttrs); outAttrs.inputType &= ~EditorInfo.TYPE_MASK_VARIATION; /* cleair 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; } } 

    Além da configuration setSaveFormData como False, isso também me ajudou

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

    Eu não conseguiria fazer isso do lado do Android, no entanto, ao adicionair à input de text da webview, viewificatório de feudo = "falso" fez o truque.

     <textairea spellcheck="false"></textairea> 

    Se já tiview os dados do formulário, então setSaveFormData(false) não o impedirá de usá-lo. Paira limpair o database, talvez seja necessário fazer o seguinte:

    WebViewDatabase.getInstance(this).cleairFormData();

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.