У меня проблема с типом настройки "message / rfc822" для намерения отправить электронную почту с вложенным файлом в эмуляторе Android . Я должен использовать setType ("message / rfc822"), потому что файл не имеет стандартного MIME-типа (база данных sqlite), и я стараюсь избегать большого количества приложений в списке выбора по выбору пользователя. Для всех уровней API до 2.3.3 У меня есть ошибка:
java.lang.RuntimeException:
Unable to start activity ComponentInfo{my.cashwatcher/my.cashwatcher.SendEmailActivity}:
android.content.ActivityNotFoundException:
No Activity found to handle Intent { act=android.intent.action.SEND typ=message/rfc822
(has extras) }
В случае API уровня 2.3.3 код работает нормально и ошибки не появляется. Это проблема эмулятора Android или старых API!?
Код:
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("message/rfc822");
sendIntent.putExtra(Intent.EXTRA_EMAIL , new String[]{appPrefs.getEmail("email")});
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(Environment.getExternalStorageDirectory(), DATABASE_PATH)));
sendIntent.putExtra(Intent.EXTRA_TEXT, "body_of_email");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "APPLICATION_NAME");
startActivityForResult(sendIntent, EMAIL_SEND_RESULT);