首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Android WebView中禁用电子邮件,数字检测

在 Android WebView 中禁用电子邮件和数字检测可以通过以下步骤实现:

  1. 在 WebView 中添加一个 WebSettings 对象,并禁用其内置的电子邮件和数字检测功能。WebSettings webSettings = webView.getSettings(); webSettings.setLoadsImagesAutomatically(true); webSettings.setJavaScriptEnabled(true); webSettings.setDomStorageEnabled(true); webSettings.setUserAgentString("Mozilla/5.0 (Linux; Android 10; GM1900 Build/OPM1.171019.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.61 Mobile Safari/537.36"); webSettings.setAllowContentAccess(true); webSettings.setAllowFileAccess(true);webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { disableEmailAddressDetection(); disablePhoneNumberDetection(); } });void disableEmailAddressDetection() { String emailAddressRegex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$"; Pattern pattern = Pattern.compile(emailAddressRegex); Matcher matcher = pattern.matcher(""); InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(100)}); editText.setHorizontallyScrolling(false); editText.setLines(1); editText.setSingleLine(true); editText.setFocusable(false); editText.setClickable(false); editText.setFocusableInTouchMode(false); editText.setLongClickable(false); editText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { return false; } return true; } }); } void disablePhoneNumberDetection() { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(view.getWindowToken(), 0); editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)}); editText.setHorizontallyScrolling(false); editText.setLines(1); editText.setSingleLine(true); editText.setFocusable(false); editText.setClickable(false); editText.setFocusableInTouchMode(false); editText.setLongClickable(false); editText.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DEL) { return false; } return true; } }); }<EditText android:id="@+id/editText" android:layout_width="match
  2. 在 WebView 的 onPageFinished 方法中,调用 disableEmailAddressDetection 和 disablePhoneNumberDetection 方法来禁用电子邮件和数字检测功能。
  3. 在 disableEmailAddressDetection 和 disablePhoneNumberDetection 方法中,调用 setInputType() 方法来禁用输入类型。
  4. 在布局文件中,添加一个 EditText 来显示禁用后的电话号码和电子邮件地址。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券