Necesito desarrollar una aplicación que tenga la función de compartir. Tengo que compartir en Facebook, twitter, correo electrónico y tal vez otros servicios.
¿Cómo puedo hacer esto? ¿Hay alguna librería en la red? Para el desarrollo de iOS había ShareKit, pero para Android?
Gracias :)
La respuesta de Paresh Mayani'es correcta en su mayor parte. Basta con utilizar una Broadcast Intent para que el sistema y el resto de aplicaciones elijan de qué manera se va a compartir el contenido.
Para compartir texto utilice el siguiente código:
String message = "Text I want to share.";
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.putExtra(Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(share, "Title of the dialog the system will open"));
Creo que usted quiere dar botón Compartir, al hacer clic en el que los medios de comunicación adecuados / opción de sitio web debe estar allí para compartir con él. En Android, es necesario crear createChooser
para el mismo.
Compartir texto:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is the text that will be shared.");
startActivity(Intent.createChooser(sharingIntent,"Share using"));
Compartir objetos binarios (imágenes, vídeos, etc.)
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);
sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
Para su información, el código anterior se hace referencia a partir de Compartir contenido en Android utilizando ACTION_SEND Intent
La ACTION_SEND
solo te dará opciones para enviar usando GMail, YahooMail... etc(Cualquier aplicación instalada en tu teléfono, que pueda realizar ACTION_SEND
). Si desea compartir en Facebook o Twitter tendrá que colocar botones personalizados para cada uno y utilizar su propio SDK como Facebook SDK o Twitter4J .