2010-11-19 8 views

Odpowiedz

12

można użyć do tego Intent:

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

powinieneś użyć Intent.ACTION_VIEW – rajh2504

151

musiałem zrobić to samo dzisiaj i znalazłem bardzo użytecznej odpowiedzi na StackOverflow, który chcę tu dzielić przypadek ktoś potrzebuje.

Source (od sven)

webView.setWebViewClient(new WebViewClient(){ 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (url != null && (url.startsWith("http://") || url.startsWith("https://"))) { 
      view.getContext().startActivity(
       new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 
      return true; 
     } else { 
      return false; 
     } 
    } 
}); 
+3

ta odpowiedź bardzo mi pomogła! Dzięki! –

+5

Pamiętaj, że jeśli adres URL jest względny (nie zaczyna się od "http: //"), otworzy się w aplikacji. Aby tego uniknąć, zawsze zwracaj wartość true i rób odnośne linki URL, nic nie rób. –

+0

+1 naprawdę doskonała odpowiedź. :) –

5

Można użyć Intent dla tego:

Uri uriUrl = Uri.parse("http://www.google.com/"); 
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl); 
startActivity(launchBrowser); 
25
WebView webview = (WebView) findViewById(R.id.webview); 
    webview.loadUrl(http://www.playbuzz.org); 

nie trzeba włączyć ten kod // webview.setWebViewClient (nowy WebViewClient()); zamiast u należy skorzystać z poniższego

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; 
       } 
     } 
    }); 
+3

ten kod naprawdę pomaga mi w tym problemie – Cristiana214

7

kod D Wystarczy dodać następującą linię

yourWebViewName.setWebViewClient(new WebViewClient()); 

Sprawdź this do oficjalnej dokumentacji.

Powiązane problemy