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

相关·内容

Android环境下WebView拦截所有请求并替换URL示例详解

需求背景 接到这样一个需求,需要在 WebView 的所有网络请求,在请求的url,加上一个xxx=1的标志位。...xxx=1 寻找解决方案 从 Android API 11 (3.0) 开始,WebView 开始WebViewClient内提供了这样一条 API ,如下: public WebResourceResponse...然后搜索了一下 Android 代码对他的引用,点我搜索。...欢迎指出代码的问题~~一起学习进步 注意: 注意保护 URL 的 Scheme,代码特地过滤了 http 和 https。...到此这篇关于Android环境下WebView拦截所有请求并替换URL示例详解的文章就介绍到这了,更多相关Android WebView拦截所有请求并替换URL内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持

3.8K32
  • 【Unity 实用工具】✨| Unity 十款 浏览器相关插件 整理(web view browser)

    前言 本篇文章将会介绍一下Unity可以用的一些浏览器插件 有的是内嵌形式的,就是Unity显示浏览器的相关内容,有的则是会调用电脑本身的浏览器 插件有很多种,基本上都能实现一个浏览器最基本的功能...3D WebView 的原生Android插件无法在编辑器运行,因此在编辑器运行时默认使用模拟 webview 实现。...因此,使用 URP 时,您必须在 URP 设置禁用 SRP Batcher 或使用 CanvasWebViewPrefab 而不是 WebViewPrefab。...3D WebView 的原生Android插件无法在编辑器运行,因此在编辑器运行时默认使用模拟 webview 实现。...因此,使用 URP 时,您必须在 URP 设置禁用 SRP Batcher 或使用 CanvasWebViewPrefab 而不是 WebViewPrefab。

    8.1K40

    安卓应用安全指南 4.9 使用`WebView`

    4.9.1.1 仅显示存储 APK 的assets / res目录下的内容 如果你的应用仅显示存储 apk assets/和res/目录下的内容,则可以启用 JavaScript。...另外,每个内容还需要仅仅引用存储服务器的内容,它们具有适当安全性。 在这种情况下,我们可以WebView上启用 JavaScript。 请参阅“4.9.1.2 仅显示内部管理的内容”。... Android 4.2(API Level 17)或更高版本,已采取措施,将漏洞限制为 Java 源代码上使用@JavascriptInterface注释的方法,而不是所有注入的 Java 对象的方法...Web 消息传送是一种 HTML5 定义的框架,用于不同的浏览上下文之间,发送和接收数据 [20]。...因此,使用WebView进行 Web 消息传递时,最好在postWebMessage()方法明确指定特定的源。

    1K10

    Carson带你学Android:你不知道的 WebView 使用漏洞

    前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 上述功能是由 AndroidWebView 实现的,但是 WebView 使用过程存在许多漏洞...Android 4.2版本之后 Google Android 4.2 版本规定对被调用的函数以 @JavascriptInterface进行注解从而避免漏洞攻击 B2....加载页面前加载一段本地的 JS 代码,原理是: 让JS调用一Javascript方法:该方法是通过调用prompt()把JS的信息(含特定标识,方法名称等)传递到Android端; Android...漏洞产生原因 Android 3.0以下,Android系统会默认通过searchBoxJavaBridge_的Js接口给 WebView 添加一个JS映射对象:searchBoxJavaBridge...于是就可通过链接来访问 Chrome 的 Cookie Google 没有进行修复,只是让Chrome 最新版本默认禁用 file 协议,所以这一漏洞最新版的 Chrome 并不存在 但是,日常大量使用

    1.2K10

    android studio 使用 jni 编译 opencv 完整实例 之 图像边缘检测!从此andrid自由使用 图像匹配、识别、检测

    (强烈建议使用 r9 或 r10 系列,因为这两个能在 cmd 编译出 .so),r10d 能够支持的 android api 最高到 21,如果你的是 22 的请修改,否则会有会编译不出 jni.h...现在打开 sdk/native/jni,如无意外,里面肯定有个 文件叫做 OpenCV.mk,它就是我们 android.mk 脚本文件要引入 opencv C++库所要参照的文件。...你可以 as 的 cmd 或者 系统的 cmd框实现编译,首先使用命令进入到当前的 jni 文件夹的 目录,例如,我的是  D:asproject/JniDemo/app/main/jni,然后使用命令...其中的 .so 文件就是我们所需要的,现在打开你项目app下的  build.gradle 文件, android{} 里面加入: sourceSets {   main() {     jniLibs.srcDirs...出现的原因:      原来是这样的,android studio 我们编译完 .so 文件后,我们Android.mk 文件设置引入的opencv 函数库,是已经被编译进去.so 动态库里面了的

    5.5K50

    WebView深度学习(三)之WebView的内存泄漏、漏洞以及缓存机制原理和解决方案

    1.不在xml定义 Webview ,而是需要的时候Activity创建,并且Context使用 getApplicationgContext() LinearLayout.LayoutParams...微信盛行、扫一扫行为普及的情况下,该漏洞的危险性非常大 2.解决方法 Android 4.2版本之后:Google Android 4.2 版本规定对被调用的函数以 @JavascriptInterface...端; 2) Android的onJsPrompt() ,解析传递过来的信息,再通过反射机制调用Java对象的方法,这样实现安全的JS调用Android代码。...产生原因 1) Android 3.0以下,Android系统会默认通过searchBoxJavaBridge_的Js接口给 WebView 添加一个JS映射对象: searchBoxJavaBridge...产生原因 1) Android 3.0以下,Android系统会默认通过searchBoxJavaBridge_的Js接口给 WebView 添加一个JS映射对象: searchBoxJavaBridge

    2.8K10

    Android:你不知道的 WebView 使用漏洞

    上述功能是由 AndroidWebView 实现的,但是 WebView 使用过程存在许多漏洞,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题 今天我将全面介绍 Android WebView...Android 4.2版本之后 Google Android 4.2 版本规定对被调用的函数以 @JavascriptInterface进行注解从而避免漏洞攻击 B2....Android的onJsPrompt() ,解析传递过来的信息,再通过反射机制调用Java对象的方法,这样实现安全的JS调用Android代码。...漏洞产生原因 Android 3.0以下,Android系统会默认通过searchBoxJavaBridge_的Js接口给 WebView 添加一个JS映射对象:searchBoxJavaBridge...于是就可通过链接来访问 Chrome 的 Cookie Google 没有进行修复,只是让Chrome 最新版本默认禁用 file 协议,所以这一漏洞最新版的 Chrome 并不存在 但是,日常大量使用

    3.2K20

    Android deeplink漏洞

    通过以下位置托管数字资产链接JSON 文件来声明网站和意图过滤器之间的关系:https://domain.name/.well-known/assetlinks.json 如果系统成功验证允许应用程序打开某个... WebView打开任意URL 如果应用程序根据deep link的参数 WebView...接管 绕过本地身份验证 应用程序可以本地身份验证(密码/生物识别)之前处理深层链接,有时这可能会导致直接用户没有本地身份验证的情况下被推送到活动。...版 ADOBE ACROBAT READER 的 RCE(CVE-2021-40724 未经确认的情况执行不安全的操作 有时,应用程序允许用户通过深层链接执行不安全的操作,例如修改数据、拨打电话...email=深层链接更改其电子邮件,您可以通过让受害者访问以下页面来将受害者的电子邮件更改为您自己的电子邮件: <!

    63040

    【翻译】TextClassification介绍(一)

    当我们检测到一个电子邮件地址时,将会返回该 RemoteAction 并触发一个 PendingIntent 对象以启动邮件客户端,撰写发送给此邮件地址的信件。...只有当我们传入合理的、能正确划定 "dummy@email.com" 子字符串原字符串的开始和结束位置时,它才能正确的处理并标识出一个电子邮件地址。...专业术语,这意味着如果用户长时间按住的是一个包含电子邮件地址的长字符串,那么初始选择将是非常小的,然后会扩展到整个电子邮件地址。...应用 TextClassifier 的两个主要用例是 TextView 和 WebView ,但实际上它们都已经使用它了。...本系列的下一篇文章,我们将一起探讨如何做到这一点。

    1.3K20

    Android实现WebView点击拦截跳转原生

    WebView空白页面 最近遇见线上客户部分手机9.0系统,使用到webview的页面,都是空白,无法正常加载出页面。。。...原因是: 安卓9.0版本中有一个新特性如下 所有应用都使用HTTPS 这是对Android安全用户的肯定。AndroidPie上的所有应用程序默认都使用HTTPS。Android关心您的隐私。...也就是说从Android 9.0(API级别28)开始,默认情况下禁用明文支持。因此http的url均无法webview中加载。...解决办法: AndroidManifest.xml文件的APplication标签添加android:usesCleartextTraffic=”true”。...android:usesCleartextTraffic=”true” 以上这篇Android实现WebView点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.8K30

    前端实现多语言切换_等红灯时频繁D到N档切换

    android N版本之后进入包含webview 页面之后,再次切换语言失效的问题,记录一下。...原因是:webview Android N之后,webview的相关类以及相关jar的修改 Android N 之前: AndroidWebView是使用webkit构建的。...您可以已安装的系统应用列表中看到它: Android 7.0之后: Chrome应用将用于呈现WebView第三方Android应用的任何/所有内容。...具有Android N开箱即用的手机Android WebView系统应用根本不存在。...已收到Android N的OTA更新的设备Android系统WebView禁用: 此外,引入了多语言支持,设备具有多种默认语言: 如果应用包含WebView,那么使用Chrome应用呈现这些内容

    49830

    每16台Android手机,就有一台受BadKernel漏洞的影响

    漏洞利用 来自360的安全研究专家发现,如果目标设备中部署了包含漏洞的V8引擎,那么2015年的那个V8引擎漏洞的帮助下,他们就可以利用包含漏洞的应用APP来目标Android设备执行恶意代码。...因为攻击者只需要通过Web页面中加载恶意内容便可以利用BadKernel漏洞实施攻击,所以攻击者利用漏洞的过程并不会遇到太大的困难。...GoogleChromium移动浏览器框架中部署了V8引擎,并且Chrome和Opera等移动端Web浏览器都使用了这一框架。 不仅如此,AndroidWebView组件同样配置了V8引擎。...而需要注意的是,从Android4.4.4到5.1版本的操作系统其默认自带的WebView组件中都包含有该漏洞。...Trustlook移动安全公司的ClarkDong一封写给Softpedia的电子邮件中表示: “由于BadKernel漏洞最初是由奇虎360公司的安全研究团队所发现的,而针对该漏洞的初始研究报告也是用中文写的

    76550
    领券