2010-08-30 7 views
6

ich vonPost gesendete Mitteilung in onActivityResult "Android" Get

eine E-Mail-Aktivität am Start

// Senden Mail

final int SENT_MAIL = 1;

startActivityForResult (Intent.createChooser (i, "E-Mail senden"), SENT_MAIL);

und in

onActivityResult (int req, int res, Intent-Daten)

ich versuche, das Ergebnis der E-Mail zu senden, zu finden, so als ob meine Post zu bestätigen war gesendet oder wurde vom Benutzer verworfen. I null für Intent Daten

dh Daten am recieving = null

Parameter in onActivityResult (int req, int res, Intent-Daten), res ist immer 0.

dh . res = 0;

Bitte lassen Sie mich wissen, was in diesem Fall getan werden kann?

Vielen Dank im Voraus!

Antwort

3

Sie müssen die Entwickler von allem kontaktieren, die möglicherweise überhaupt auf Ihre Intent reagieren könnte (was man nicht oben zeigen) und sie fragen, ob sie startActivityForResult() für eine solche Intent unterstützen. Quoten sind, nur wenige, und Sie werden sowieso alle möglichen Android-E-Mail-Clients schwer aufspüren. Wenn sie startActivityForResult() nicht unterstützen, während Sie diese Methode noch aufrufen können, erhalten Sie in onActivityResult() keine aussagekräftigen Ergebnisse.

Also, was Sie wollen, ist unpraktisch, IMHO.

+0

Danke für Ihre Antwort .. aber immer noch gibt es irgendeine Arbeit um .. ?? Ich wollte nur einen Rückruf von der nativen App (in diesem Fall .. ich nehme an, Gmail auf Android-Handy, um eine native App zu sein) – Abhinava

+0

@Abhinava: "aber immer noch gibt es irgendwelche Arbeit um .. ??" Nein. Die AOSP E-Mail-Anwendung verwendet 'setResult()' nicht und arbeitet daher nicht mit 'startActivityForResult()'. Die Google Mail-Anwendung ist eine geschlossene Quelle. Sie können Patches für die Open-Source-E-Mail-Anwendung bereitstellen, um diese Funktionalität für diese bestimmte Anwendung hinzuzufügen. – CommonsWare

+0

Nur um klar zu sein, sagst du, dass startActivityForResult nicht mit einer Intention verwendet werden kann, die Gmail wie folgt verwendet: 'new Intent (Intent.ACTION_SEND) .setType (" message/rfc822 ")' weil es RESULT_CANCELLED jedes Mal unabhängig vom Erfolg zurückgibt ? Ich hätte schwören können, dass es früher für mich funktioniert hat, aber jetzt bekomme ich nur RESULT_CANCELLED. –