Tôi có một số đầu vào văn bản HTML vào một WebView và tôi cần phải tắt tính năng tự động nhận trên các đầu vào này từ Android, không phải từ HTML (tự động hoàn thành = tắt).Tắt tự động đề xuất trên WebView?
Tôi làm cách nào để thực hiện việc này?
Tôi có một số đầu vào văn bản HTML vào một WebView và tôi cần phải tắt tính năng tự động nhận trên các đầu vào này từ Android, không phải từ HTML (tự động hoàn thành = tắt).Tắt tự động đề xuất trên WebView?
Tôi làm cách nào để thực hiện việc này?
Vấn đề này làm phật lòng tôi cho khá trong một nhưng giải pháp rất đơn giản:
webview.getSettings().setSaveFormData(false);
tôi đã viết về nó ở đây:
http://roysutton.com/2012/02/21/preventing-auto-fill-in-android-webview/
Khi webview đã có dữ liệu: 'WebViewDatabase.getInstance (this) .clearFormData();' –
Ngoài setSaveFormData thiết như False, này cũng đã giúp tôi
WebView.getSettings().setSavePassword(false);
WebView.clearFormData();
Tôi không thể làm điều này từ phía Android, tuy nhiên khi thêm vào văn bản nhập liệu chính tả của webview spellcheck = "false" đã thực hiện thủ thuật.
<textarea spellcheck="false"></textarea>
Câu trả lời được đề xuất ở trên không giúp ích gì cho tôi. Vì vậy, tôi đã tìm thấy giải pháp tiếp theo: Tôi vừa tạo một trình bao bọc đơn giản cho WebView và sử dụng nó.
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;
}
}
Rực rỡ! Tôi đã gặp vấn đề tương tự trong ứng dụng của mình và sau khi áp dụng điều này, người dùng đã báo cáo sự cố đã được giải quyết. –
Nếu dữ liệu đã có dữ liệu biểu mẫu thì setSaveFormData(false)
sẽ không ngừng sử dụng dữ liệu đó. Để xóa cơ sở dữ liệu bạn có thể phải làm như sau:
WebViewDatabase.getInstance(this).clearFormData();
đây là liên kết chính [http://stackoverflow.com/questions/582244/is-there-a-w3c- hợp lệ-cách-để-vô hiệu hóa-tự động điền-in-a-html-form] [1] [1]: http://stackoverflow.com/questions/582244/is-there-a-w3c -valid-way-to-disable-autocomplete-in-a-html-form –