Uso la función shouldInterceptRequest de shouldInterceptRequest para filtrar fotos en mi webView de Android.
El problema
Estoy tratando de bloquear las fotos URL base64 de Google (como: data:image/jpeg;base64,+ ) usando esta expresión regular data:image/(jpg|png|jpeg);base64, pero sin éxito.
Investigué y descubrí que :
estas imágenes de fondo base64 se inyectan con JS.
pero no sé continuar.
mi código:
@Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { String url = request.getUrl().toString(); if (imgCheck(url,res)) { return new WebResourceResponse( BrowserUnit.MIME_TYPE_TEXT_PLAIN, BrowserUnit.URL_ENCODING, new ByteArrayInputStream("".getBytes()) ); } return super.shouldInterceptRequest(view, request); } private static boolean isImage(String url, Resources res) { BufferedReader imageUrlRegex = openRawFile(res, R.raw.image_regex); try { String line = imageUrlRegex.readLine(); while (line != null) { Pattern pattern = Pattern.compile(line); if (pattern.matcher(url).find()) return true; line = imageUrlRegex.readLine(); } } catch (IOException e) { e.printStackTrace(); return true; } return false; } data:image/(jpg|png|jpeg|svg|ico|webp|tif|tiff|bmp|eps|apng|avif|jfif|pjpeg|pjp|cur);base64, **nota: probé un bloque como este return url.contains("data:image"); aún nada