Frage

ich einen Android-App, die eine E-Mail initiieren will. Der folgende Code arbeitet in einem api Level 5-Emulator, aber nicht auf einem Level 2-Emulator oder Gerät:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Email from MyApp");
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT,
   "This email was autogenerated by MyApp.");
try {
    startActivity(emailIntent);
} catch (Exception e) {
    Log.e(TAG,e.getMessage());
    showDialog(DIALOG_CANTSENDMAIL);
}

Die Ausnahme ausgelöst sagt:

No Activity found to handle Intent { action=android.intent.action.SEND (has extras) }

Ich kann manuell E-Mail von allen Geräten (emuliert und real) getestet, und das funktioniert in Stufe 5 api senden. Die Dokumentation auf Intent.ACTION_SEND sagt, es ist seit dem API-Ebene 1 aktiv.

War es hilfreich?

Lösung

Ich denke, der Unterschied in der API nicht so viel sein, aber in den Anwendungen auf dem System zur Verfügung. Der E-Mail-App wurde insbesondere in Android 1.1 und 1.5 recht begrenzt, so würde ich nicht überrascht sein, wenn sie nicht in der Lage ist ACTION_SEND zu behandeln.

Könnte auch sein, dass die gleiche Aktion funktioniert, wenn Sie die Google Mail-Anwendung konfiguriert haben, aber nicht mit der E-Mail-App nur (wie im Emulator).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top