Question

J'ai une application Android qui veut lancer un e-mail. Le code suivant fonctionne dans un émulateur niveau de l'API 5, mais pas sur un émulateur de niveau 2 ou dispositif:

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);
}

L'exception levée dit:

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

Je peux envoyer manuellement par courrier électronique à partir de tous les appareils (émulés et réels) testés, et cela fonctionne au niveau 5 api. La documentation sur Intent.ACTION_SEND dit qu'il est actif depuis le niveau de l'API 1.

Était-ce utile?

La solution

Je pense que la différence peut être pas tant dans l'API, mais dans les applications disponibles sur le système. L'application e-mail en particulier a été très limitée dans Android 1.1 et 1.5, donc je ne serais pas surpris si elle n'a pas été en mesure de gérer ACTION_SEND.

Peut-être aussi que la même action fonctionne si vous avez l'application Gmail configuré, mais pas avec l'application e-mail uniquement (comme dans l'émulateur).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top