Ich habe eine Android-App und sie unterstützt das Senden von Text über andere Apps. Es verwendet daher die ACTION_SEND
Absicht und das EXTRA_TEXT
Feld. Die Auswahl präsentiert mir alle Apps, die mit einer solchen Absicht umgehen können. Das sind Twitter, E-Mail, ... und Facebook. Wenn ich jedoch Facebook auswähle, wird der Browser geöffnet und die folgende Seite aufgerufen:
http://m.facebook.com/sharer.php?u=mytext
Es zeigt meinen Text und die Schaltfläche "Senden". Aber wenn ich den Submit-Button drücke, passiert nichts. Die Seite wird einfach wieder geladen. Ich denke, vielleicht ist es nur möglich, URLs über die Facebook-App zu senden. Könnte das sein?
Hat es jemand geschafft, Text über ACTION_SEND
die Facebook Android App zu senden ?
android
facebook
android-intent
android-sharing
Goddchen
quelle
quelle
Antworten:
BEARBEITET: mit der neuen Version der offiziellen Facebook-App für Android (14. Juli 2011) FUNKTIONIERT ES !!!
ALT: Die obigen Beispiele funktionieren nicht, wenn der Benutzer die Facebook-App zum Teilen auswählt, aber sie funktionieren, wenn der Benutzer die Seesmic-App zum Posten auf Facebook auswählt. Ich denke, Seesmic hat eine bessere Implementierung der Facebook-API als Facebook!
quelle
Damit das Teilen mit der Facebook-App funktioniert, muss nur mindestens ein Link vorhanden sein:
Dies zeigt das richtige Freigabefenster an, aber wenn Sie auf Freigeben klicken, passiert nichts (ich habe es auch mit der offiziellen Twitter-App versucht, es funktioniert nicht).
Die einzige Möglichkeit, die Freigabe der Facebook-App zum Funktionieren zu bringen, besteht darin, nur einen Link ohne Text freizugeben:
Es wird das folgende Fenster angezeigt und die Schaltfläche Teilen funktioniert:
Anscheinend werden automatisch ein Bild und ein Text vom Link benötigt, um die Freigabe zu füllen.
Wenn Sie nur Text freigeben möchten, müssen Sie die Facebook-API verwenden: https://github.com/facebook/facebook-android-sdk
quelle
Facebook
zieht die App den Link korrekt aus einem String wieWonderful search engine http://www.google.fr/
. Beachten Sie, dass ich sagte, ziehen Sie den Link , es wird immer noch nichts mit dem Text tun. Funktioniert auchTwitter
sowohl mit dem Text als auch mit dem Link.06/2013:
quelle
Zuerst müssen Sie die Option Absicht zur Handlerfreigabe abfragen. Verwenden Sie dann den Paketnamen, um Intent zu filtern. Dann haben wir nur eine Intent-Option für die Handlerfreigabe!
Über Facebook teilen
Bonus - Teilen Sie über Twitter
Und wenn Sie herausfinden möchten, wie Sie über eine andere Freigabeanwendung teilen können, finden Sie diese dort. Tép Blog - Advance Share über Android
quelle
Ich habe also eine Lösung, aber es wird davon ausgegangen, dass Sie die Kontrolle über die Seite haben, die Sie teilen ...
Wenn Sie Ihren EXTRA_TEXT so formatieren ...
... dann sollte Ihr Text auf Nicht-Facebook-Apps ungefähr so aussehen:
Wenn Sie nun Ihre Website so aktualisieren, dass Anforderungen mit dem Abfrageparameter extraText den Inhalt von extraText in den Metadaten der Seite zurückgeben.
Wenn Facebook diese URL verlässt, um den Dialog zu generieren, liest es die Titel-Metadaten und bettet sie in Ihren Freigabedialog ein.
Mir ist klar, dass dies eine hübsche Yuck-Lösung ist, also nimm ein Körnchen Salz ...
quelle
Es scheint, dass die Facebook-App diese Absicht falsch behandelt. Der zuverlässigste Weg scheint die Verwendung der Facebook-API für Android zu sein.
Das SDK befindet sich unter folgendem Link: http://github.com/facebook/facebook-android-sdk
Unter "Verwendung" gibt es Folgendes:
Dies scheint der beste Weg zu sein - zeigen Sie einen Dialog an, der an die Wand gepostet wird. Das einzige Problem ist, dass sie sich möglicherweise zuerst anmelden müssen
quelle
quelle
quelle
Es scheint, dass es sich um einen Fehler in der Facebook-App handelt, der im April 2011 gemeldet wurde und von den Android-Facebook-Entwicklern noch nicht behoben wurde.
Die einzige Möglichkeit, dies zu umgehen, ist die Verwendung des SDK.
quelle
Wenn Sie Text anzeigen möchten, setzen Sie # am Anfang der gewünschten Nachricht und teilen Sie diese als Hashtag
quelle