¿Cómo obtener el enlace webview iframe para iniciar el navegador?

Estoy utilizando un WebView para mostrar una página en la que el html incluye un iframe donde src = "xxxxx.php".

Este iframe se carga como una imagen de anuncio con un enlace subyacente. Si hago clic en esa imagen (enlace), intenta cargar la nueva página dentro del iframe original (que no muestra mucho en ese pequeño espacio). Lo que quiero suceder es hacer clic en el enlace para abrir la página en una nueva ventana del navegador, dejando mi aplicación como está.

Si utilizo el navegador de Android para mostrar la página original y hacer clic en este iframe, carga el enlace como una nueva página. ¿Cómo obtengo el mismo comportamiento con un WebView? El uso de un WebViewClient con shouldOverrideUrlLoading () no parece ser llamado por el enlace iframe.

Tuve un problema similar con los anuncios de Google en un origen de WebView, ya que cargar en un iframe también. Así es como lo resolví:

Pruebe esto en su WebViewClient, por lo general bajo su shouldOverrideUrlLoading ()

@Override public void onLoadResource (WebView view, String url) { if (url.contains("googleads")) { if(view.getHitTestResult().getType() > 0){ view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); view.stopLoading(); Log.i("RESLOAD", Uri.parse(url).toString()); } } } 

Puedo proponer una corrección al código anterior:

 @Override public void onLoadResource (WebView view, String url) { if (url.contains("googleads")) { if(view.getHitTestResult() != null && (view.getHitTestResult().getType() == HitTestResult.SRC_ANCHOR_TYPE || view.getHitTestResult().getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE)){ view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); view.stopLoading(); } } } 
  • Averigüe si Android WebView muestra la página en caché
  • La configuración LOAD_NO_CACHE de WebView aún guarda archivos en el disco?
  • Android Studio (0.4.6) ocultar barra de título en vista previa?
  • ¿No se puede reproducir el vídeo dentro de WebView mediante etiquetas iframe?
  • Vista previa no mostrada en Android 3.0 Canary
  • Cómo cambiar los dispositivos predeterminados de vista previa de diseño en Android Studio
  • Poner iframe en la aplicación android
  • Insertando textview dentro de edittext en android?
  • Android WebView no carga la segunda página desde la memoria caché
  • ¿Puedo usar el Android 4 HttpResponseCache con una aplicación basada en WebView?
  • No hay opción "Docked Mode" en la configuración de "Preview" en Android Studio una vez desacoplada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.