Abrir una app a partir de una url.

47 views
Skip to first unread message

César Díez Sánchez

unread,
Feb 28, 2014, 11:29:20 AM2/28/14
to gdg-ba...@googlegroups.com
Buenas a todos,

Me estoy peleando con un problema que se debería solucionar fácilmente, pero me estoy volviendo loco. Os explico:

Tengo que compartir información de una app mediante una url que llevará ciertos parámetros de tipo query. En principio cuando cliques esta url tendría que ir a la activity que yo he especificado en el manifest. Parece bastante sencillo, y he visto información al respecto:


Tengo hecho lo siguiente:

String text = "<a href=\"http://directions/edit#Intent;scheme=http;package=com.digitalyou.android.directions;end\"> Get me to" + direction.getName() + " with Directions! </a>";

String html = "To get "
           
+ direction.getName()
           
+ " <a href=\"www.google.com\">Download Directions for Android</a> and click the below link from your phone:<br><br>" + text;
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent
.setType("text/html");
shareIntent
.putExtra(Intent.EXTRA_SUBJECT, "How to get to " + direction.getName());
shareIntent
.putExtra(Intent.EXTRA_TEXT, Html.fromHtml(html));

y en el Manifest:

 <intent-filter>
     <action android:name="android.intent.action.VIEW"/>
     <category android:name="android.intent.category.DEFAULT"/>
     <category android:name="android.intent.category.BROWSABLE"/>
     <data
         android:host="directions"
         android:path="/edit"
         android:scheme="http"/>
</intent-filter>

Cuando estoy editando el mail, me aparece la url correctamente, pero cuando recibo el mail, ya no es clicable si utilizo como scheme intent o content, pero si utilizo http, se abre la url del navegador... :S

A alguien le ha pasado algo parecido o habéis encontrado una forma mejor de hacerlo?

Mercis!!




Screenshot_2014-02-28-17-17-21.png
Screen Shot 2014-02-28 at 17.13.32.png

iñaki

unread,
Feb 28, 2014, 11:45:11 AM2/28/14
to gdg-ba...@googlegroups.com
con <data android:pathPattern=".*"></data> pasa lo mismo?
> --
> Hazte miembro en la web del GDG ( http://goo.gl/ngNRi ), y para no perderte
> nada sigue al GDG Barcelona en Google+ ( http://goo.gl/f3xo4 ), Twitter (
> twitter.com/GDGBarcelona ), y su blog ( http://gdgbarcelona.blogspot.com.es/
> )
> ---
> Has recibido este mensaje porque estás suscrito al grupo "GDG Barcelona" de
> Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos
> electrónicos, envía un correo electrónico a
> gdg-barcelon...@googlegroups.com.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> gdg-ba...@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

m3n0R

unread,
Feb 28, 2014, 12:09:39 PM2/28/14
to gdg-ba...@googlegroups.com
Sip... :-(

Iñaki, creo que el problema está en el scheme. Si pongo http me abre el navegador directamente, pero si pongo cualquier otra cosa, no me aparece como linkable el texto... weird weird...

Merci!


2014-02-28 17:45 GMT+01:00 iñaki <inaki...@gmail.com>:
n=".*"



-------------------------------------------------------------------------------

César Díez Sánchez 

Bernat

unread,
Feb 28, 2014, 12:23:56 PM2/28/14
to gdg-ba...@googlegroups.com

Prova a posar el path sens la barra, i el scheme amb el ://

Santi Iglesias

unread,
Mar 1, 2014, 5:06:59 AM3/1/14
to gdg-ba...@googlegroups.com
Si no recuerdo mal, el juego que montamos para el DevFestBCN con los NFC funcionaba de forma parecida, miratelo que quizás pueda ayudarte

https://github.com/nichel/google-io-hunt/blob/master/SimpleIOHunt/AndroidManifest.xml

Andrew Mackenzie

unread,
Mar 2, 2014, 4:41:51 AM3/2/14
to gdg-ba...@googlegroups.com
Has probado poniendo in hostname valido, "directions" no lo es. No hay ningun TLD. Algo Como "directions.com", la idea es so la app no esta instalado que el browser piece visualizarlo. Y filtar solo sobre el hostname para empezar.

m3n0R

unread,
Mar 2, 2014, 5:42:48 AM3/2/14
to gdg-ba...@googlegroups.com
Buenas chicos,

Muchas gracias a todos.

Andrew, en principio el hostname que tu le pongas da lo mismo, ya que es una url que recoge tu activity. Como es una url, si es una buena práctica ponerlo como tu dices. De hecho en la app lo tenía asi, pero haciendo pruebas lo cambié.

Me he creado una app de ejemplo en casa y ahora funciona, me da a elegir entre el Browser y la app, y lo único que he hecho es sustituir el campo de texto de mi modelo con un simple String :S

Puede que sea eso, osea que seguiré haciendo alguna prueba... rarísimo chicos, porque lo tenía bien...

-------------------------------------------------------------------------------

César Díez Sánchez 


2014-03-02 10:41 GMT+01:00 Andrew Mackenzie <and...@mackenzie-serres.net>:
Has probado poniendo in hostname valido, "directions" no lo es. No hay ningun TLD. Algo Como "directions.com", la idea es so la app no esta instalado que el browser piece visualizarlo. Y filtar solo sobre el hostname para empezar.

m3n0R

unread,
Mar 2, 2014, 5:25:12 PM3/2/14
to gdg-ba...@googlegroups.com
Bueno, después de bastantes pruebas, tengo que decir que hoy es uno de esos días que mandaría Android a tomar por culo xDDD

¿Como puede ser que algo tan sencillo sea tan complicado? En principio todo sería super fácil si a la primera funcionara como dicen en su tuto:


Pero si quieres enviar una url via email, no se crea el link correctamente y tenemos que empezar a investigar que formas funcionan y porqué. Después Google te pinta las acciones de compartir de forma facilísima:

http://developer.android.com/training/sharing/shareaction.html

Pero después nos damos cuenta que si quieres compartir una url por un sitio que no sea el mail, no funciona correctamente. Ni en Drive me crea el link, ni en Evernote me crea el link, ni me aparecen las apps de facebook y/o twitter, que entiendo que como tienen un sdk o una api, tengo que hacerlo de otra forma para poder compartir un simple link...

En fin, nadie se ha encontrado en la misma situación que yo? 

Creo que el ShareActionProvider por si solo no sirve de una mierda xDD y que hay que tirar de librerías tipo:


... o puede que sea yo...





-------------------------------------------------------------------------------

César Díez Sánchez 
Reply all
Reply to author
Forward
0 new messages