I have some HTML text inputs into a WebView, and I need to disable the autosuggetions on these inputs from Android, not from HTML (autocomplete=off).
How can I do th
The suggested above answers didn't help me. So I found next solution: I just created a simple wrapper for WebView and used it.
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;
}
}
None of the above helped so after extensive search i found this which works perfect on webview as well as normal websites. Text area can be replaced by Input text fields too :)
<textarea class="form-control" id="comments" autocomplete="off" autocorrect="off" spellcheck="false"></textarea>
If it already has the form data then setSaveFormData(false)
won't stop it from using it. To clear the database you may have to do the following:
WebViewDatabase.getInstance(this).clearFormData();
I couldn't do this from Android's side, however in adding to the webview's text input spellcheck="false" did the trick.
<textarea spellcheck="false"></textarea>
This problem vexed me for quite a while but the solution is very simple:
webview.getSettings().setSaveFormData(false);
I wrote about it here:
http://roysutton.com/2012/02/21/preventing-auto-fill-in-android-webview/
In Android 8 and above, you should set importance of a textview subclass for system auto-fill feature:
android:importantForAutofill="noExcludeDescendants"
Official reference: Optimize your app for autofill
Furthermore, You might try to delete the "Web Data" sqlite file in data/data/{your-app-package}/app_webview when webview isn't in use for security's sake.