Fazer automaticamente o download de anexos

Quando uma mensagem com anexo chega ao aplicativo de mensagens no dispositivo BlackBerry®, você pode fazer download do anexo automaticamente e armazená-lo no dispositivo BlackBerry.

Antes de fazer download de anexos, a classe AttachmentDownloadManager valida o anexo. AttachmentDownloadManager gera exceções se qualquer das seguintes condições ocorrer.

  • o aplicativo tentar invocar o download enquanto um download está já em andamento
  • o aplicativo tentar fazer download de arquivos com comprimento zero
  • o tamanho do anexo for maior que o permitido pela política de TI do aplicativo ou cadernos de serviços
  • os anexos forem criptografados
  • não houver espaço disponível suficiente no dispositivo BlackBerry ou no cartão SD

O método AttachmentDownloadManager.download() executa uma verificação durante o processo de download. Se erros de verificação forem encontrados, o método gera uma exceção. Para obter uma lista de possíveis erros de verificação, consulte a referência da API do BlackBerry® Java® Development Environment.

Nota: O BlackBerry® Attachment Service recebe todos os anexos primeiro. Manipuladores de anexo de terceiros não podem substituir o comportamento padrão. Para obter mais informações sobre o BlackBerry Attachment Service, consulte o Guia de administração do BlackBerry Enterprise Server.
  1. Importe as classes e interfaces necessárias:
    import java.io.IOException;
    import net.rim.blackberry.api.mail.*;
    
  2. Implemente a interface DownloadProgressListener. Crie uma instância da classe AttachmentDownloadManager.
    public class AutoAttachTest implements DownloadProgressListener 
    {
       AttachmentDownloadManager _adm = new AttachmentDownloadManager();
  3. Use os métodos disponíveis em AttachmentDownloadManager para determinar informações sobre o anexo.
    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. Invoque AttachmentDownloadManager.download() para fazer download do anexo.
    _adm.download(bodyParts, null, this);
  5. Substitua os métodos de retorno de chamada DownloadProgressListener para fornecer atualizações sobre o status do download do anexo.
    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)
    {
    }
Próximo tópico: Calendário

Estas informações foram úteis? Gostaríamos de receber seus comentários.