Невозможно прочитать вложения электронной почты в приложении Blackberry - PullRequest
0 голосов
/ 21 ноября 2011

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

public void uploadAttachment(SupportedAttachmentPart attachment)
{
  String strMimeType = attachment.getContentType();
  String strAttachmentFileName=attachment.getFilename();
  String strAttachmentSize=attachment.getSize()
  InputStream emailAttachmentStream = attachment.getInputStream();
  int ch = emailAttachmentStream.read();      
  while(ch!=-1)
  {
   reqVector.addElement((byte) (ch));                                        
   ch = emailAttachmentStream.read();
  }
  }

1 Ответ

1 голос
/ 23 ноября 2011

В BlackBerry для повышения производительности было установлено ограничение на размер файла для вложений, поэтому была загружена только часть сообщения. Вложения фактически не доставлялись на устройство, если пользователь их не открыл.

Теперь в JDE 5.0 они представили новый класс AttachmentDownloadManager, который позволяет программисту форсировать извлечение из кода.

Это может быть что-то вроде этого (не проверено):

Message m = ... //The mail message instance.
AttachmentDownloadManager atm = new AttachmentDownloadManager();
BodyPart[] bparr = atm.getAttachmentBodyParts(m);
atm.download(bparr, <some folder path>, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...