134 votes

Lien WebView cliquez sur ouvrir le navigateur par défaut

À l'heure actuelle, j'ai une application qui charge une vue Web et tous les clics sont conservés dans l'application. Ce que je voudrais faire, c'est lorsqu'un clic sur un lien, par exemple, http://www.google.com , dans l'application ouvre le navigateur par défaut. Si quelqu'un a des idées s'il vous plaît faites le moi savoir!

218voto

Amokrane Chentir Points 11441

Je devais faire la même chose aujourd'hui et j'ai trouvé une réponse très utile sur StackOverflow que je voudrais partager ici au cas où quelqu'un d'autre en aurait besoin.

Source (de 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;
        }
    }
});
 

41voto

Cristiana214 Points 661
 WebView webview = (WebView) findViewById(R.id.webview);
    webview.loadUrl(http://www.playbuzz.org);
 

vous n'avez pas à inclure ce code // webview.setWebViewClient (nouveau WebViewClient ()); à la place, vous devez utiliser le code d ci-dessous

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

11voto

PAD Points 766

vous pouvez utiliser l'intention pour cela:

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

6voto

BasavRaj Points 11

Vous pouvez utiliser une intention pour cela:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X