Ich möchte etwas Bild und Text über Facebook von Android Jelly Bean teilen. Es funktioniert in allen Geräten außer Android Jelly Bean. Bitte helfen Sie mir, dieses Problem zu lösen.
In diesem Code möchte ich einen Text schreiben. Aber EXTRA_TEXT funktioniert nicht.Wie Zeichenfolge oder Bild in diesem EXTRA_TEXT übergeben.
Du solltest Facebook nicht nur direkt ansprechen.
Stattdessen sollten Sie nur die Share Intent verwenden. Übergeben Sie Ihre Daten in den Extras, wie im SDK angegeben, und lassen Sie dann den Benutzer auswählen, mit wem er teilen möchte. Zwinge sie nicht, Facebook zu verwenden, da sie NICHT die einzigen sozialen Medien sind. Theres auch Twitter, 4square und viele andere, die der Benutzer benutzt. Lassen Sie diese Apps mit Ihrer Absicht umgehen, diktieren Sie nicht eine so strenge Einschränkung wie NICHT , wie die Absichtsaktion ACTION_SEND
funktionieren sollte.
Was Ihr Problem mit dem Extra anbelangt, wird EXTRA_TEXT
intent offensichtlich nicht funktionieren, da es nicht für Bilder oder Referenzen wie diese verwendet wird.
Es sagt:
Wenn Sie eine SEND-Absicht starten, sollten Sie sie normalerweise in eine Auswahl einfügen (durch createChooser (Intent, CharSequence)), die geben die richtige Schnittstelle für den Benutzer zu wählen, wie Sie Ihre Daten senden und erlauben Sie geben eine Eingabeaufforderung an, die angibt, was sie tun.
Eingabe: getType () ist der MIME-Typ der gesendeten Daten. bekomme * Extra kann entweder ein EXTRA_TEXT - oder EXTRA_STREAM - Feld haben, das den zu sendende Daten. Wenn EXTRA_TEXT verwendet wird, sollte der MIME-Typ sein "Text / Ebene"; andernfalls sollte es der MIME-Typ der Daten sein EXTRA_STREAM. Verwenden Sie / , wenn der MIME-Typ unbekannt ist (dies wird nur Absender zulassen, die mit generischen Datenströmen umgehen können). Wenn Sie verwenden EXTRA_TEXT, Sie können EXTRA_HTML_TEXT optional auch für Kunden bereitstellen um Ihren Text mit HTML-Formatierung abzurufen.
Ab JELLY_BEAN können die gesendeten Daten durch geliefert werden setClipData (ClipDaten). Dies ermöglicht Ihnen zu verwenden FLAG_GRANT_READ_URI_PERMISSION beim Teilen von Inhalten: URIs und andere erweiterte Funktionen von ClipData. Wenn Sie diesen Ansatz verwenden, müssen Sie immer noch Geben Sie die gleichen Daten über die Felder EXTRA_TEXT oder EXTRA_STREAM ein Im Folgenden wird die Kompatibilität mit alten Anwendungen beschrieben. Wenn du es nicht tust Legen Sie ein ClipData fest, es wird beim Aufruf für Sie dorthin kopiert startActivity (Absicht).
Optionale Standard-Extras, die von einigen Empfängern interpretiert werden können Gegebenenfalls sind: EXTRA_EMAIL, EXTRA_CC, EXTRA_BCC, EXTRA_SUBJECT.
Angesichts dieser Informationen müssen Sie auch den MIME-Typ für Ihre bestimmten Daten in Ihrem Intent-Typ festlegen.
Probieren Sie den folgenden Code aus. Ich habe diesen Code verwendet, um den Text & amp; Bild von einer meiner Anwendung und es funktioniert gut für mich.
Ich hoffe, es wird auch für dich funktionieren.
%Vor%
In diesem habe ich das Bild verwendet, das an einem bestimmten Ort im Gerät gespeichert ist. Sie können es entsprechend Ihrem Bildstandort ändern.
Weitere Einzelheiten finden Sie auf der FaceBook-Seite
Es sieht so aus, als könnten wir keinen Text weitergeben, den wir in der Facebook App teilen sollen.
Tags und Links eclipse android android-intent