Truco Android: menú compartir

Hoy en día para ser un 2.0 auténtico hace falta compartir todo ;-) por eso, he decidido añadir esta funcionalidad a alguna de mis aplicaciones Android.

La idea es que cuando el usuario pulse el botón compartir se abra un desplegable con las aplicaciones “sociales” (Twitter, Facebook, email, sms…) que tenga instaladas y a través de ellas suba el contenido (que irá precargado).

Había empezado a programar esa solución, pero buscando un poco me he encontrado con este post que dá una solución muy sencilla y efectiva.

Con la idea de reutilizar el código lo he convertido en una clase estática que puedo llamar directamente desde cualquiera de mis “Activity”

/**
 * Share a content using the user's installed apps
 *
 * Thanks to : http://labs.emich.be/2010/01/23/how-to-send-to-twitter-or-facebook-from-your-android-application/
 *
 * @author http://francho.org/lab/
 *
 */
public class Social {
	/**
	 * Open a contextual Menu with the available applications to share
	 *
	 * @param the Context (to open the menú and the new activity)
	 * @param the subject
	 * @param the text
	 */
	public static void share(Context ctx, String subject,String text) {
		 final Intent intent = new Intent(Intent.ACTION_SEND);

		 intent.setType("text/plain");
		 intent.putExtra(Intent.EXTRA_SUBJECT, subject);
		 intent.putExtra(Intent.EXTRA_TEXT, text);

		 ctx.startActivity(Intent.createChooser(intent, ctx.getString(R.string.tit_share)));
		}
}

Advertisement

Acerca de francho

Geek Maño. Artesano de software, programador Android en activo, sysop retirado. Linuxero de corazón, maquero recién convertido. Ocasionalmente: consultor de Internet, profesor... Más en francho.org

Publicado el 29 abril, 2010 en Android, Programación y etiquetado en , , , , , , , . Guarda el enlace permanente. 7 comentarios.

  1. pregunta: cuando elijo la aplicacion de fecebook para android del menu, los parametros q le mando llamence “EXTRA_SUBJECT” y “EXTRA_TEXT”, no llegan al cuadro de publicacion, esto a q se debe y como podria arreglarlo?

  2. Me temo que eso depende de la aplicación en cuestión. La de Facebook “oficial” me suena que no controlaba del todo bien los parámetros del Intent, pero que a partir de una determinada versión lo corrigieron (no se si ha vuelto a reaparecer).

    Tienes más info en: http://forum.developers.facebook.net/viewtopic.php?id=93900

    Saludos

  3. bueno yo probe asi como tienes tu pero aparte de eso me toco agregar esta linea

    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  4. Alguien sabe porque este código no funciona para compartir en facebook?
    Comparte bien en todas las redes sociales menos en facebook

    Saludos.

  5. luis, la app oficial de Facebook en Andoid no tiene muy bien implementado el tema de los intents y aunque aparece en los menús de compartir no lo hace bien.

    Lo mejor es que te implementes tu propio intent para compartir en Facebook usando su api y ocultes la app (si buscas un poco por Google encontrarás muchos ejemplos).

    Saludos

  1. Pingback: Bitacoras.com

  2. Pingback: Tweets that mention Truco Android: menú compartir « {francho(lab)} -- Topsy.com

Deja un comentario

Fill in your details below or click an icon to log in:

Gravatar
Logo de WordPress.com

You are commenting using your WordPress.com account. Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.

Únete a otros 474 seguidores