首页
学习
活动
专区
工具
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 来显示禁用后的电话号码和电子邮件地址。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 单点登录SSO的身份账户不一致漏洞

    由于良好的可用性和安全性,单点登录 (SSO) 已被广泛用于在线身份验证。但是,它也引入了单点故障,因为所有服务提供商都完全信任由 SSO 身份提供商创建的用户的身份。在本文中调查了身份帐户不一致威胁,这是一种新的 SSO 漏洞,可导致在线帐户遭到入侵。该漏洞的存在是因为当前的 SSO 系统高度依赖用户的电子邮件地址来绑定具有真实身份的帐户,而忽略了电子邮件地址可能被其他用户重复使用的事实在 SSO 身份验证下,这种不一致允许控制重复使用的电子邮件地址的攻击者在不知道任何凭据(如密码)的情况下接管关联的在线帐户。具体来说,首先对多个云电子邮件提供商的帐户管理策略进行了测量研究,展示了获取以前使用过的电子邮件帐户的可行性。进一步对 100 个使用 Google 商业电子邮件服务和自己的域地址的流行网站进行了系统研究,并证明大多数在线帐户都可以通过利用这种不一致漏洞而受到损害。为了阐明电子邮件在野外重复使用,分析了导致广泛存在的潜在电子邮件地址冲突的常用命名约定,并对美国大学的帐户政策进行了案例研究。最后,为终端用户、服务提供商和身份提供商提出了一些有用的做法,以防止这种身份帐户不一致的威胁。

    03

    就像电子邮件,比特币将是未来全球信息传输的基本工具

    比特币是一个协议。在不久的将来,我们将在不了解比特币的运行原理的情况下使用比特币协议来向对方发送资金。而解释比特币和区块链技术会像如今解释电子邮件的技术一样没有必要。 电子邮件是一种简单的邮件传输协议,现如今我们发送电子邮件和当年写信没什么两样。但是他们到底算不算是信件呢?虽然它们是数字的,但是可以像文字一样进行读取。当然你可以将他们打印出来,但这样做能否使它们比在数字形式时更“真实”呢?究其本质,它只是一堆的0和1。这会使它不像实际的文字一样的真实吗? 你是否了解电子邮件的工作原理? 当你看到这个问

    010
    领券