J'ai une application Android et elle prend en charge l'envoi de texte via d'autres applications. Il utilise donc l' ACTION_SEND
intention et le EXTRA_TEXT
champ. Le sélecteur me présente toutes les applications capables de gérer une telle intention. Ce sont Twitter, Email, ... et Facebook. Mais lorsque je sélectionne Facebook, il ouvre le navigateur et accède à la page suivante:
http://m.facebook.com/sharer.php?u=mytext
Il montre mon texte et le bouton d'envoi. Mais lorsque j'appuie sur le bouton d'envoi, rien ne se passe. La page se charge à nouveau. Je pense qu'il n'est peut-être possible d'envoyer des URL que via l'application Facebook. Serait-ce possible?
Quelqu'un a-t-il réussi à envoyer du texte via ACTION_SEND
l'application Facebook Android?
Réponses:
EDITED: avec la nouvelle version de l'application Facebook officielle pour Android (14 juillet 2011) ÇA MARCHE !!!
ANCIEN: Les exemples ci-dessus ne fonctionnent pas si l'utilisateur choisit l'application Facebook pour le partage, mais ils fonctionnent si l'utilisateur choisit l'application Seesmic pour publier sur Facebook. Je suppose que Seesmic a une meilleure implémentation de l'API Facebook que Facebook!
la source
Pour que le partage fonctionne avec l'application Facebook, il vous suffit de fournir au moins un lien:
Cela affichera la fenêtre de partage correcte mais lorsque vous cliquez sur partager, rien ne se passe (j'ai également essayé avec l'application Twitter officielle, cela ne fonctionne pas).
Le seul moyen que j'ai trouvé pour faire fonctionner le partage de l'application Facebook est de ne partager qu'un lien sans texte:
Il affichera la fenêtre suivante et le bouton Partager fonctionnera:
Apparemment, il prend automatiquement une image et un texte du lien pour remplir le partage.
Si vous souhaitez partager uniquement du texte, vous devrez utiliser l'API Facebook: https://github.com/facebook/facebook-android-sdk
la source
Facebook
application tirera correctement le lien d'une chaîne commeWonderful search engine http://www.google.fr/
. Notez que j'ai dit tirer le lien , cela ne fera toujours rien avec le texte. Fonctionne égalementTwitter
avec le texte et le lien.06/2013:
la source
Vous avez d'abord besoin de l'option de partage d'intention de requête vers le gestionnaire. Ensuite, utilisez le nom du package pour filtrer l'intention, nous n'aurons alors qu'une seule option de partage d'intention pour le gestionnaire!
Partager via Facebook
Bonus - Partager via Twitter
Et si vous souhaitez savoir comment partager via une autre application de partage, retrouvez-le là Tép Blog - Advance share via Android
la source
J'ai donc un travail autour, mais cela suppose que vous avez le contrôle sur la page que vous partagez ...
Si vous formatez votre EXTRA_TEXT comme ceci ...
... puis sur les applications non Facebook, votre texte devrait ressembler à ceci:
Désormais, si vous mettez à jour votre site Web de sorte que les requêtes avec le paramètre de requête extraText renvoient le contenu d'extraText dans les métadonnées de la page.
Ensuite, lorsque Facebook échappe cette URL pour générer la boîte de dialogue, il lit les métadonnées du titre et les intègre dans votre boîte de dialogue de partage.
Je me rends compte que c'est une solution plutôt beurk, alors prenez avec un grain de sel ...
la source
Il semble que l'application Facebook gère cette intention de manière incorrecte. Le moyen le plus fiable semble être d'utiliser l'API Facebook pour Android.
Le SDK est à ce lien: http://github.com/facebook/facebook-android-sdk
Sous «utilisation», il y a ceci:
Cela semble être la meilleure façon de le faire - afficher une boîte de dialogue qui s'affichera sur le mur. Le seul problème est qu'ils doivent d'abord se connecter
la source
la source
la source
Il semble que ce soit un bogue dans l'application Facebook qui a été signalé en avril 2011 et qui n'a pas encore été corrigé par les développeurs Android de Facebook.
La seule solution pour le moment est d'utiliser leur SDK.
la source
si vous voulez afficher du texte, mettez # à la mendicité du message que vous voulez, il le partagera en tant que hashtag
la source