첨부 파일 자동 다운로드

메시지가 첨부 파일과 함께 BlackBerry 단말기의 메시지 프로그램에 도착하는 경우, 첨부 파일을 자동으로 다운로드하여 BlackBerry 단말기에 저장할 수 있습니다.

첨부 파일을 다운로드하기 전에 AttachmentDownloadManager 클래스에서 첨부 파일의 유효성을 검사합니다. AttachmentDownloadManager는 다음 상황 중 하나가 발생하면 예외를 throw합니다.

  • 다운로드가 이미 진행 중인 도중에 프로그램이 다운로드를 호출하려는 경우
  • 크기가 0인 파일을 프로그램이 다운로드하려는 경우
  • 첨부 파일의 크기가 프로그램 IT 정책 또는 서비스 북에서 허용하는 크기를 초과하는 경우
  • 첨부 파일이 암호화되어 있는 경우
  • BlackBerry 단말기 또는 SD 카드의 사용 가능한 공간이 충분치 않은 경우

AttachmentDownloadManager.download() 메소드는 다운로드 프로세스 중에 확인을 수행합니다. 확인 오류가 발견되면 메소드에서 예외를 throw합니다. 발생 가능한 확인 오류의 목록은 BlackBerry Java Development Environment용 API 참조서를 참조하십시오.

주: BlackBerry Attachment Service는 모든 첨부 파일을 가장 먼저 받습니다. 이 기본 동작은 타사 첨부 파일 처리기에서 재정의할 수 없습니다. BlackBerry Attachment Service에 대한 자세한 내용은 BlackBerry Enterprise Server 관리 가이드를 참조하십시오.
  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import java.io.IOException;
    import net.rim.blackberry.api.mail.*;
    
  2. DownloadProgressListener 인터페이스를 구현합니다. AttachmentDownloadManager 클래스의 인스턴스를 만듭니다.
    public class AutoAttachTest implements DownloadProgressListener 
    {
       AttachmentDownloadManager _adm = new AttachmentDownloadManager();
  3. AttachmentDownloadManager에 있는 메소드를 사용하여 첨부 파일에 대한 정보를 확인합니다.
    public String fileSize = getFileSize(BodyPart bodyPart);
    public String fileName = getFileName(BodyPart bodyPart);
    public String fileType = getFileContentType(BodyPart bodyPart);
    public String filePath = getDownloadedFileName(BodyPart bodyPart);
  4. AttachmentDownloadManager.download()를 호출하여 첨부 파일을 다운로드합니다.
    _adm.download(bodyParts, null, this);
  5. 첨부 파일 다운로드의 상태에 대한 업데이트를 제공하도록 DownloadProgressListener 콜백 메소드를 재정의합니다.
    private void downloadCancelled(String msg)
    {
       BodyPart bodyPart = (BodyPart) element;
       _screen.displayProgress("Failed to download " + _adm.getFileName(bodyPart));
    }
    private void downloadCompleted(Object element)
    {
       BodyPart bodyPart = (BodyPart) element;
       _screen.displayProgress(_adm.getFileName(bodyPart) + " downloaded.");
    }
    public void updateProgress(Object element, int current, int total)
    {
    }
다음 주제: 캘린더

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.