Wie kann ich nach dem Starten einer E-Mail-Nachricht eine Bestätigung erhalten, dass die E-Mail gesendet wurde oder ein Fehler in die Aktivität zurückkehrte, von der sie aufgerufen wurde?
%Vor%Vielleicht starte activityForResult? Aber welches Ergebnis sollte ich zurück erwarten?
Das hängt wirklich von der App ab, die von deinem Intent
gestartet wird. Dies könnte die Google Mail-App sein, die E-Mail-App oder eine Drittanbieter-App. Aus diesem Grund gibt es keine 100% zuverlässige Methode, um festzustellen, ob der Benutzer tatsächlich Send gedrückt hat oder nicht.
Sie können nur prüfen, ob die Gmail- und E-Mail-Apps bei Aufruf über startActivityForResult
etwas Relevantes zurückgeben und sich darauf verlassen. Aber Vorsicht, das ist nicht zuverlässig, weil es wieder Apps von Drittanbietern geben könnte. Da diese Apps nicht öffentlich angeben, was sie zurückgeben, können sie dies auch ohne vorherige Ankündigung ändern.
Sie können keinen nützlichen Ergebniscode aus einer E-Mail-Absicht erhalten. onActivityResult gibt immer 0 zurück, sobald das Senden beginnt oder das Senden abgebrochen wird.
Zusätzlich, wenn Sie Dateien anhängen, wird onActivityResult aufgerufen, bevor diese Dateien gelesen werden.
Sehen Sie sich meine Frage und die Antworten an: Den Empfänger erhalten Zähle aus einer E-Mail, die in Android gesendet wurde
Tags und Links java android android-intent email