Wie bekomme ich Webview iframe Link, um den Browser zu starten?

Ich benutze ein WebView, um eine Seite anzuzeigen, in der die HTML enthält ein iframe mit src = "xxxxx.php".

Dieses iframe lädt als Anzeigenbild mit einem zugrunde liegenden Link. Wenn ich auf dieses Bild klicke (Link), versucht es, die neue Seite in original iframe zu laden (was in diesem kleinen Platz nicht viel zeigt). Was ich passieren möchte, klickt auf den Link, um die Seite in einem neuen Browserfenster zu öffnen und meine App zu verlassen.

  • Android - Wie geht es dir mit 9774d56d682e549c? Android-ID
  • MediaRecorder.setMaxDuration (int timer) was passiert, wenn der Timer abläuft
  • Wie kann ich die Android-Spinnergröße ändern / verringern?
  • Android-Set Höhe und Breite der benutzerdefinierten Ansicht programmgesteuert
  • Ist es möglich, VectorDrawable in Buttons und TextViews mit Android zu verwenden: DrawableRight?
  • PDF / Word (Doc) Datei in App erstellen
  • Wenn ich den Android-Browser benutzt, um die Original-Seite anzuzeigen und auf diesen iframe zu klicken, lädt er den Link als neue Seite. Wie bekomme ich das gleiche Verhalten mit einem WebView? Mit einem WebViewClient mit shouldOverrideUrlLoading () scheint nicht von der iframe-Verbindung aufgerufen zu werden.

  • Staatsliste ziehbarer und behinderter Zustand
  • Machen Sie die "up" -Taste verhalten sich wie die "Zurück" -Taste auf Android
  • Android Studio: Fehler beim Analysieren von XML & URI ist nicht registriert
  • Animieren der childs einer expandablelistview beim kollabieren / expandieren
  • Wie kann ich ImageView korrekt löschen?
  • Kann nicht verkleinern lineare Layout Kinder in android reagieren native Modul
  • 2 Solutions collect form web for “Wie bekomme ich Webview iframe Link, um den Browser zu starten?”

    Ich hatte ein ähnliches Problem mit Google-Anzeigen in einer WebView-Quelle, da sie auch in einem iframe laden. So habe ich es gelöst:

    Versuchen Sie dies in Ihrem WebViewClient, in der Regel unter Ihrem 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()); } } } 

    Ich kann ein Update vor dem vorherigen Code vorschlagen:

     @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(); } } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.