Проблема с несколькими вложениями электронной почты Android в HTC Thunderbolt

У меня странная ситуация.

Я пытаюсь отправлять электронные письма с несколькими вложениями, используя следующий фрагмент кода.

Intent emailIntent = new Intent( android.content.Intent.ACTION_SEND_MULTIPLE );
// emailIntent.setType( "plain/text" );
emailIntent.setType( "application/octet-stream" );
...
....
emailIntent.putParcelableArrayListExtra( Intent.EXTRA_STREAM, uris );

Это работает нормально, и механизм неявного намерения отображает множество параметров, таких как Gmail, Skype, Обмен сообщениями и т. Д.

Проблема в том, что почтовый клиент по умолчанию не отображается в HTC Thunderbolt ( но работает на других устройствах, включая HTC Incredible S).

Если я попытаюсь отправить одно вложение с помощью Intent.ACTION_SEND , появится почтовый клиент по умолчанию . Я попытался установить тип содержимого text / plain, appliation / octet-stream, message / rfc282 и т. Д., Но ничего не работает.

Что мне здесь не хватает?

24
задан Dipak Keshariya 8 September 2012 в 10:40
поделиться

2 ответа

Звучит как ошибка в версии Sense от Thunderbolt. Пользовательские интерфейсы для победы, я прав?

В любом случае, я бы посмотрел, какое приложение на самом деле обрабатывает электронную почту на молнии, и поместил бы оператор if, чтобы определить, является ли устройство молнией. Если это так, установите целевой класс Intent, какой бы он ни был. Если это не так, делайте то, что вы уже делаете.

0
ответ дан 29 November 2019 в 00:33
поделиться

Это прекрасно работает для меня, обязательно укажите тип сообщения, именно так Android узнает, какую трансляцию использовать.

     String email = "test@email.com";
    Intent intent = new Intent(Intent.ACTION_SEND_MULTIPLE);
    intent.setType("message/rfc822");
    intent.putExtra(Intent.EXTRA_EMAIL, new String[] {email}); // could have multiple address
    intent.putExtra(Intent.EXTRA_SUBJECT, "Enter your subject here");
    intent.putExtra(Intent.EXTRA_TEXT, "message text as needed");
    ArrayList<Uri> arrayUri = new ArrayList<Uri>();
    arrayUri.add(Uri.parse("file://" + paths[0]));
    arrayUri.add(Uri.parse("file://" + paths[1]));
    intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, arrayUri);
    startActivity(Intent.createChooser(intent, "Any title to show on chooser"));
0
ответ дан 29 November 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: