À 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 quand un certain lien, par exemple, http://www.google.com est cliqué dans l'application, il ouvre le navigateur par défaut. Si quelqu'un a des idées s'il vous plaît faites le moi savoir!
Je devais faire la même chose aujourd'hui et j'ai trouvé une réponse très utile sur StackOverflow que je souhaite partager ici au cas où quelqu'un d'autre en aurait besoin.
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;
}
}
});
WebView webview = (WebView) findViewById(R.id.webview);
webview.loadUrl(https://whatoplay.com/);
vous n'avez pas à inclure ce code
// webview.setWebViewClient(new WebViewClient());
à la place, vous devez utiliser le code d ci-dessous
webview.setWebViewClient(new WebViewClient()
{
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
String url2="https://whatoplay.com/";
// 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;
}
}
});
vous pouvez utiliser l'intention pour cela:
Intent browserIntent = new Intent("Android.intent.action.VIEW", Uri.parse("your Url"));
startActivity(browserIntent);
Il vous suffit d'ajouter la ligne suivante
yourWebViewName.setWebViewClient(new WebViewClient());
Vérifiez this pour la documentation officielle.
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);