En este post voy a mostrar la forma más sencilla de que tu app permita compartir mediante estas dos redes sociales. Conozco y he probado la APIs de Facebook, Twitter y varias librerías, pero la forma más fácil de hacerlo es abriendo la aplicación y añadirle el texto que quieres que se muestre. Puedes pensar, ¿y si no tengo la app instalada? Muy sencillo, se puede abrir un webview directamente a Facebook o Twitter.
No obstante, se que no se puede generalizar pero en este caso es practicamente absurdo no hacerlo, y es que, todo usuario Android que tiene cuenta a Facebook/Twitter tiene su aplicación instalada, entonces, este método pasa a ser el más fácil y rápido de añadir a tu app.
a continuación les dejo el código a añadir:
public void shareTwitter(Context context, String what)
{
try {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setClassName("com.twitter.android",
"com.twitter.android.PostActivity");
sharingIntent.putExtra(Intent.EXTRA_TEXT, what);
context.startActivity(sharingIntent);
} catch (Exception e) {
//web
Intent i = new Intent();
i.putExtra(Intent.EXTRA_TEXT, "Mi primer tweet!");
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://mobile.twitter.com/"));
context.startActivityForResult(i, TWITTER);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setClassName("com.twitter.android",
"com.twitter.android.PostActivity");
sharingIntent.putExtra(Intent.EXTRA_TEXT, what);
context.startActivity(sharingIntent);
} catch (Exception e) {
//web
Intent i = new Intent();
i.putExtra(Intent.EXTRA_TEXT, "Mi primer tweet!");
i.setAction(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://mobile.twitter.com/"));
context.startActivityForResult(i, TWITTER);
}
}
public static void shareFacebook(Context context, String what)
{
try {
Intent intentF = new Intent(Intent.ACTION_VIEW);
intentF.setType("text/plain")
.setAction("android.intent.action.SEND")
.setFlags(0x3000000)
.setClassName("com.facebook.katana","com.facebook.katana.ShareLinkActivity")
.putExtra(Intent.EXTRA_TEXT, what);
context.startActivity(intentF);
} catch (ActivityNotFoundException ex) {
// web
context.startActivity(new Intent(Intent.ACTION_VIEW, Uri
.parse("http://m.facebook.com/sharer.php?u=" + what)));
}
It works!
Roger Sala,
No hay comentarios:
Publicar un comentario