¿Cómo compartir fotos con CAPTION a través de la intención de compartir de Android en Facebook?

Me gustaría compartir una foto con subtítulos precargados de mi aplicación a través de un bash de compartir, en Facebook.

Sé cómo compartir fotos o cómo compartirlas, pero ¿cómo puedo compartirlas?

Código de ejemplo

Intent shareCaptionIntent = new Intent(Intent.ACTION_SEND); shareCaptionIntent.setType("image/*"); //set photo shareCaptionIntent.setData(examplePhoto); shareCaptionIntent.putExtra(Intent.EXTRA_STREAM, examplePhoto); //set caption shareCaptionIntent.putExtra(Intent.EXTRA_TEXT, "example caption"); shareCaptionIntent.putExtra(Intent.EXTRA_SUBJECT, "example caption"); startActivity(Intent.createChooser(shareCaptionIntent,getString(R.string.share))); 

Si se establece un tipo de image/* , se carga una foto sin que se haya completado la leyenda. Si se establece en text/plain solo, el título se carga sin la foto …..


Supongo que el problema es que la aplicación Android de Facebook no busca Intent.EXTRA_TEXT cuando filtra una intención ACTION_SEND con tipo de image/* para la carga de fotos. Entonces, este problema podría resolverse si la aplicación de Facebook de Android buscara ese valor y, si estuviera presente, lo insertara como el título de la imagen.

Compartir título a través de la intención de Android

Agregue esta línea a sus códigos existentes:

 shareCaptionIntent.putExtra(Intent.EXTRA_TITLE, "my awesome caption in the EXTRA_TITLE field"); 

No hay diferencias claramente definidas entre EXTRA_TITLE, EXTRA_SUBJECT y EXTRA_TEXT. Entonces no hay un claro protocolo compartido. Siempre podríamos probarlos todos. 🙂

Este problema parece ser una “característica” de larga data de la aplicación de Facebook. Su manejo de intenciones nunca ha sido en un estado completamente funcional.

Consulte los enlaces en http://forum.developers.facebook.net/viewtopic.php?id=93900

Esto debe ser elevado con los desarrolladores en Facebook. La dependencia de esconderse detrás de la API del cliente en lugar de corregir lo obvio es trabajar en contra de ellos.