2016-06-22 6 views
0

Ich zeige eine Webseite in ein Android WebView. Also habe ich einen Override geschrieben, um die Links innerhalb des WebView anstelle des Standard-Browsers zu öffnen. Mein Problem ist, dass ich einige spezifische Links in meiner Site habe, die ich öffnen möchte, nur diese im Standard-Browser. Wie kann ich eine Überschreibung innerhalb dieser Überschreibung erstellen? Der Code, den ich verwende, sollte funktionieren, aber nicht.So öffnen Sie bestimmte Links in Android-Browser anstelle von WebView?

public class MyAppWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (Uri.parse(url).getHost().equals("something.com")) { 
     return false; 
    } 

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    view.getContext().startActivity(intent); 
    return true; 
} 

Antwort

0

Ich habe eine Lösung gefunden. Ich habe gerade diesen Code verwendet:

myWebView.setWebViewClient(new WebViewClient(){ 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      String url2="http://www.example.com/"; 
      // all links with in your site will be open inside the webview 
      //links that start your domain, for 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; 
      } 
     } 
    }); 
Verwandte Themen