Foros del Web » Programando para Internet » Android »

Abrir url externa de webview en navegador

Estas en el tema de Abrir url externa de webview en navegador en el foro de Android en Foros del Web. Hola quisiera su ayuda, tengo un webview y lo que quiero ahcer es cuando se haga click en en enlace externo este se habra en ...
  #1 (permalink)  
Antiguo 25/02/2015, 14:49
oskarvisual
Invitado
 
Mensajes: n/a
Puntos:
Abrir url externa de webview en navegador

Hola quisiera su ayuda, tengo un webview y lo que quiero ahcer es cuando se haga click en en enlace externo este se habra en el navegador del sistema, ya logre hacer eso con los mapas, emails y para marcar numeros, pero no me sale con las webs, les dejo mi codigo, espero me puedan ayudar.

Saludos

private static final String TEL_PREFIX = "tel:";
private static final String GEO_PREFIX = "geo:";
private static final String MAIL_PREFIX = "mailto:";
private static final String URL_PREFIX = "http//:";
private class CustomWebViewClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView wv, String url) {
if(url.startsWith(TEL_PREFIX)) {
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}
if(url.startsWith(GEO_PREFIX)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
return true;
}
if(url.startsWith(URL_PREFIX)) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}
if (url.startsWith(MAIL_PREFIX)) {
/*Intent intent = new Intent(Intent.EXTRA_EMAIL);
intent.setData(Uri.parse(url));
startActivity(intent);*/

MailTo mailTo = MailTo.parse(url);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, new String[]{mailTo.getTo()});
intent.putExtra(Intent.EXTRA_TEXT, mailTo.getBody());
intent.putExtra(Intent.EXTRA_SUBJECT, mailTo.getSubject());
intent.putExtra(Intent.EXTRA_CC, mailTo.getCc());
intent.setType("message/rfc822");
startActivity(intent);
return true;
}
return false;
}
}
  #2 (permalink)  
Antiguo 26/02/2015, 19:12
Avatar de ipraetoriux  
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Abrir url externa de webview en navegador

Tenes que usar Intent...seria algo asi...

Código Java:
Ver original
  1. webView.setWebViewClient(new WebViewClient(){
  2.     public boolean shouldOverrideUrlLoading(WebView view, String url) {
  3.         if (url != null && url.startsWith("http://")) {
  4.             view.getContext().startActivity(
  5.                 new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
  6.             return true;
  7.         } else {
  8.             return false;
  9.         }
  10.     }
  11. });

Etiquetas: activity, externa, navegador, url, view, webview
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:01.