Tengo una aplicación para Android y admite el envío de mensajes de texto a través de otras aplicaciones. Por lo tanto, utiliza la ACTION_SEND
intención y el EXTRA_TEXT
campo. El que elige me presenta todas las aplicaciones que pueden manejar tal intención. Esos son Twitter, correo electrónico, ... y Facebook. Pero cuando selecciono Facebook, abre el navegador y va a la siguiente página:
http://m.facebook.com/sharer.php?u=mytext
Muestra mi texto y el botón de enviar. Pero cuando presiono el botón de enviar no pasa nada. La página simplemente se carga de nuevo. Creo que tal vez solo sea posible enviar URL a través de la aplicación de Facebook. ¿Podría ser eso?
¿Alguien logró enviar mensajes de texto a ACTION_SEND
través de la aplicación de Facebook para Android?
fuente
Respuestas:
EDITADO: con el nuevo lanzamiento de la aplicación oficial de Facebook para Android (14 de julio de 2011) ¡¡¡FUNCIONA !!!
ANTIGUO: Los ejemplos anteriores no funcionan si el usuario elige la aplicación de Facebook para compartir, pero funcionan si el usuario elige la aplicación Seesmic para publicar en Facebook. ¡Supongo que Seesmic tiene una mejor implementación de la API de Facebook que Facebook!
fuente
Para que Share funcione con la aplicación de Facebook, solo necesita tener al menos un enlace:
Esto mostrará la ventana para compartir correcta, pero cuando haces clic en compartir, no pasa nada (también probé con la aplicación oficial de Twitter, no funciona).
La única forma que encontré para hacer que el uso compartido de la aplicación de Facebook funcione es compartir solo un enlace sin texto:
Mostrará la siguiente ventana y el botón Compartir funcionará:
Aparentemente, toma automáticamente una imagen y texto del enlace para completar el recurso compartido.
Si desea compartir solo texto, deberá usar la api de Facebook: https://github.com/facebook/facebook-android-sdk
fuente
Facebook
aplicación extraerá correctamente el enlace de una cadena comoWonderful search engine http://www.google.fr/
. Tenga en cuenta que dije que tire del enlace , todavía no hará nada con el texto. Además,Twitter
funciona tanto con el texto como con el enlace.06/2013:
fuente
Primero necesita la opción Intención de consulta para compartir controlador. Luego use el nombre del paquete para filtrar Intent, ¡entonces solo tendremos una opción para compartir Intent con el controlador!
Compartir a través de Facebook
Bono: compartir a través de Twitter
Y si quieres saber cómo compartir a través de otra aplicación para compartir, encuéntralo allí. Tép Blog - Advance share via Android
fuente
Así que tengo una solución, pero asume que tienes control sobre la página que estás compartiendo ...
Si formatea su EXTRA_TEXT así ...
... luego, en las aplicaciones que no son de Facebook, su texto debería aparecer así:
Ahora, si actualiza su sitio web de manera que las solicitudes con el parámetro de consulta extraText devuelvan el contenido de extraText en los metadatos de la página.
Luego, cuando Facebook escapa de esa URL para generar el cuadro de diálogo, leerá los metadatos del título y los insertará en su cuadro de diálogo para compartir.
Me doy cuenta de que esta es una solución bastante asquerosa, así que tómela con un grano de sal ...
fuente
Parece que la aplicación de Facebook maneja esta intención de manera incorrecta. La forma más confiable parece ser utilizar la API de Facebook para Android.
El SDK está en este enlace: http://github.com/facebook/facebook-android-sdk
En 'uso', hay esto:
Esta parece ser la mejor manera de hacerlo: mostrar un cuadro de diálogo que se publicará en el muro. El único problema es que es posible que primero tengan que iniciar sesión
fuente
fuente
fuente
Parece que es un error en la aplicación de Facebook que se informó en abril de 2011 y aún no lo han solucionado los desarrolladores de Facebook de Android.
La única solución por el momento es usar su SDK.
fuente
si desea mostrar el texto, ponga # al principio del mensaje que desea, lo compartirá como Hashtag
fuente