2011-11-21 2 views
0

블랙 베리 애플리케이션에서 이메일 본문 및 첨부 파일을 읽어야합니다. 일반 텍스트 메시지, 전자 메일 메시지는 읽을 수 있지만 첨부 파일은 읽을 수 없습니다. 첨부 파일 스트림을 읽을 때 널 포인터 예외가 발생합니다. 콘텐츠 유형, 크기 및 첨부 파일 이름은 가져올 수 있지만 콘텐츠는 가져올 수 없습니다. 아래는 내가 가지고 놀았던 샘플 코드입니다. 내가 블랙 베리에서블랙 베리 애플리케이션에서 이메일 첨부 파일을 읽을 수 없습니다.

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(); 
    } 
    } 
+0

사람이에 도움이 될 수 있습니다

그것은 (하지 테스트) 이런 일이 될 수 있습니다. 더 이상 진행할 수 없어 붙어있어 더 이상 진행할 수 없습니다. ( – user778935

답변

1

더 이상 진행 할 수없는 생각으로 저를 도와주세요, 성능 resons을 위해, 그래서 메시지의 일부만 다운로드 한 첨부 파일에 대한 파일 크기 제한이 있었다. 첨부 파일은 사용자가 열지 않으면 첨부 파일이 실제로 장치로 전달되지 않았습니다.

이제 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); 
+0

감사합니다. 작동 중입니다. 장치에 attachemnt를 다운로드 한 다음 스트림을 읽을 수 있습니다. 그러나 문제가 하나 더 있습니다. 진행률 화면이 표시됩니다. 첨부 파일을 장치에 다운로드하는 동안 pushGlobalScreen() 메서드를 사용하여 이벤트 잠금을 가져옵니다.) 첨부 파일을 다운로드 한 후 화면 (popscreen())을 닫으려고하지만 작동하지 않습니다. 화면이 팝핑되지 않습니다. 디스플레이 스택에서 이벤트를 수신 할 수 없으므로 문제와 해결책을 알려주십시오. – user778935

+0

이 문제에 대한 단서 – user778935

+0

다른 문제입니다. 다른 질문을 게시하고 코드를 붙여 넣을 수 있습니다. UiApplication.invokeLater'를 사용하여 GUI 관련 코드를 하나의 닫는 화면으로 만듭니다. –

관련 문제