StartActivityForResults gibt immer RESULT_CANCELLED für Intent.ACTION_SEND zurück

7

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

zurück %Vor%

ActivityForResult-Code

%Vor%     
Siddharth 18.05.2013, 07:59
quelle

2 Antworten

27

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.

    
David Wasser 07.06.2013 10:59
quelle
0

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.

    
Hichem Bili 06.06.2013 20:58
quelle

Tags und Links