WebView Link klicken Sie auf den Standardbrowser

Im Moment habe ich eine App, die ein Webview lädt und alle Klicks in der App gehalten werden. Was ich tun möchte, ist, wenn ein bestimmter Link, zB http://www.google.com, in der App angeklickt wird, öffnet es den Standardbrowser. Wenn jemand etwas Ideen hat, lass es mich wissen!

  • Performance und Usability Vergleich von Android JSON Bibliotheken
  • Verschiedene Instanz von Applicationcontext in Broadcastreceiver
  • Bekomme Array von KEYS für jedes Element unter jsonarray
  • Erhalten Sie Signalstärke in Android
  • Erstellen Sie "Battery Usage" Intent Android
  • Touch Release-Methode in Android
  • Wie und wo man benutzerdefinierte xml in meine Android-App hinzufügen?
  • AppCompatDialogFragment Problem mit appcompat-v7: 23.1.0
  • Listing alle installierten Zertifikate auf Android
  • Druck PDF-Datei über Bluetooth Drucker Android
  • Wie man Thumbnail von YouTube Videos in Android anzeigt
  • Einschließlich list_content in das Listenlayout, um die ListFragment-Funktionalität zu behalten
  • 5 Solutions collect form web for “WebView Link klicken Sie auf den Standardbrowser”

    Ich musste das Gleiche heute machen und ich habe eine sehr nützliche Antwort auf StackOverflow gefunden, die ich hier teilen möchte, falls jemand anderes es braucht.

    Quelle (aus Sven )

    webView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url != null && url.startsWith("http://")) { view.getContext().startActivity( new Intent(Intent.ACTION_VIEW, Uri.parse(url))); return true; } else { return false; } } }); 
     WebView webview = (WebView) findViewById(R.id.webview); webview.loadUrl(http://www.playbuzz.org); 

    Du musst diesen Code nicht enthalten. // webview.setWebViewClient (neuer WebViewClient ()); Stattdessen müssen Sie d Code unten verwenden

     webview.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { String url2="http://www.playbuzz.org/"; // all links with in ur site will be open inside the webview //links that start ur domain example(http://www.example.com/) if (url != null && url.startsWith(url2)){ return false; } // all links that points outside the site will be open in a normal android browser else { view.getContext().startActivity( new Intent(Intent.ACTION_VIEW, Uri.parse(url))); return true; } } }); 

    Sie können hierfür Absicht verwenden:

     Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("your Url")); startActivity(browserIntent); 

    Sie können dazu eine Absicht verwenden:

     Uri uriUrl = Uri.parse("http://www.google.com/"); Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl); startActivity(launchBrowser); 

    Sie müssen nur die folgende Zeile hinzufügen

     yourWebViewName.setWebViewClient(new WebViewClient()); 

    Überprüfen Sie dies für die amtliche Dokumentation.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.