para - manual de programacion android pdf
Enlace de WebView haga clic en abrir navegador predeterminado (5)
Puedes usar un Intento para esto:
Uri uriUrl = Uri.parse("http://www.google.com/");
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
En este momento tengo una aplicación que carga una vista web y todos los clics se mantienen dentro de la aplicación. Lo que me gustaría hacer es cuando un determinado enlace, por ejemplo, http://www.google.com se hace clic dentro de la aplicación, se abre el navegador predeterminado. Si alguien tiene algunas ideas, ¡házmelo saber!
Solo necesitas agregar la siguiente línea
yourWebViewName.setWebViewClient(new WebViewClient());
Verifique this para obtener documentación oficial.
Tuve que hacer lo mismo hoy y encontré una respuesta muy útil en que quiero compartir aquí en caso de que alguien más la necesite.
Source (de 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;
}
}
});
puedes usar la intención para esto:
Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("your Url"));
startActivity(browserIntent);
WebView webview = (WebView) findViewById(R.id.webview);
webview.loadUrl(http://www.playbuzz.org);
no tiene que incluir este código // webview.setWebViewClient (new WebViewClient ()); en su lugar, necesitas usar el código d a continuación
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;
}
}
});