25/02/2015, 14:49
|
|
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;
}
} |