Als das Freigabe-Popup erscheint, habe ich den Inhalt von WhatsApp erfolgreich geteilt, aber RESULT_CANCELLED zurückgegeben. Das gleiche Ergebnis, wenn ich eine E-Mail mit Gmail sende.
Beim Aufruf der Freigabeabsicht gibt ACTION_SEND
mit startActivityForResult
immer CANCELLED
ActivityForResult-Code
%Vor% startActivityForResult()
funktioniert nur mit Aktivitäten, die auf diese Weise aufgerufen werden sollen. Wenn die Aktivität, die Sie aufrufen, kein Ergebnis zurückgibt, erhalten Sie das Standardergebnis RESULT_CANCELED. Offensichtlich ist ACTION_SEND
nicht dazu gedacht, so genannt zu werden. Die Dokumentation für ACTION_SEND
zeigt an, dass keine Ausgabe generiert wird (dh: erzeugt kein Ergebnis ).
Siehe Dokumentation für Activity.startActivityForResult()
:
Beachten Sie, dass diese Methode nur mit Intent-Protokollen verwendet werden sollte sind definiert, um ein Ergebnis zurückzugeben. In anderen Protokollen (wie z ACTION_MAIN oder ACTION_VIEW), erhalten Sie möglicherweise nicht das Ergebnis, wenn Sie erwarten von. Wenn zum Beispiel die Aktivität, die Sie starten, die singleTask-Startmodus, es wird nicht in Ihrer Aufgabe ausgeführt und so werden Sie erhalte sofort ein Abbruchresultat.
Ich habe das gleiche Problem und ich denke, dass das Ergebnis immer "abgebrochen" sein wird, denn selbst wenn die E-Mail gesendet wird oder nicht, wird die Aktivität beendet.
Tags und Links android start-activity