PDA

Ver la Versión Completa : Abrir enlace externo en webapp


pinya84
22/07/13, 13:40:56
Muy buenas,

Estoy realizando una app basada en web html5 & jquery mobile. Lo que se pretende es crear una aplicación que carge un webview en android con la página cargada. El tema es que quiero hacer un enlace de tantos y que lo abra otra página pero que aparezca fuera del webview. Es decir, que se abra el navegador nativo del movil al darle click. El problema es que se muestra dentro de la app y no es correcto.

Leyendo leyendo he dado con un atriburo de la etiqueta <a> llamado target="_blank" pero lo cierto es que no me funciona. Ademas he visto que no es compatible con los estandares w3c. Ahi ponía que utilizaramos rel="external" pero lo mismo, ni caso!!!!

He probado en varios terminales, versiones diferentes de s.o y hasta en el emulador.

Agradeceria cualquier tipo de consejo ya que estoy ofuscado y no adelanto.
Mil gracias amigos.

hecsagis
22/07/13, 16:54:38
Lo que quieres hacer es que ciertos enlaces los abra en el webview y otros con el navegador por defecto?

O que todos los abra con el navegador por defecto?

Si es lo primero:

webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.equal("La_url_que_quieras_que_se_abra_en_navegador")) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
view.loadUrl(url);
return true;
}
}
});


Si es lo segundo simplemente modifica el If/Else para que lo abra todo con un intent

Fuente: Google (https://www.google.es/search?q=webview+open+link+with+navigator&rls=com.microsoft:es&ie=UTF-8&oe=UTF-8&startIndex=&startPage=1&rlz=1I7GGLD_es#rls=com.microsoft:es&rlz=1I7GGLD_es&sclient=psy-ab&q=webview+open+link+with+browser&oq=webview+open+link+with+browser&gs_l=serp.3...3462.4478.0.4622.7.7.0.0.0.0.168.935 .0j7.7.0....0.0..1c.1.20.psy-ab.7OMcSXDUtXc&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.49478099%2Cd.ZGU%2Cpv.xjs.s.en_US.c75bKy5EQ 0A.O&fp=fbb943839553ca9f&biw=1680&bih=931)

pinya84
22/07/13, 19:07:45
Hola,

Gracias por contestar. Me sirve pero a medias. Te explico:

Lo que necesitaria es abrir n enlaces por el navegador nativo y no se cuales son. Depende de factores externos. Estoy dandole vueltas al codigo que me has pasado pero creo que eso es válido si sabes cual es la url de la web que quieres abrir de forma externa. O me equivoco?? Yo necesito abrir varios enlaces que los toma de una base de datos de forma dinamica. Lo tengo dificil, no??? :(

Gracias.

hecsagis
22/07/13, 20:22:57
Supongo q los enlaces aunque sean dinamicos se generan a partir de algo que tu conoces, es decir, que conoces la estructura, o alguna parte de la cadena qur lo forman. Si es así lo tienes muy fácil trabajando con strings en java.

Por ejemplo con un string.contains("parte_del_enlace") como condición del if. Ya te digo, sabiendo que tienen en común los enlaces que te interesan y trabajando con la clase string que tienes multitud de opciones podrás conseguir lo que buscas

pinya84
23/07/13, 09:23:44
Si, Podria hacer string.contains("www") que lo abra con el navegador nativo. Al fin y al cabo las que quiero abrir con el navegador son las webs externas asi que esto me funcionaria yo creo....... excelente observacion :D. Tio, te debo una buena!!! mil gracias.