Descargar automáticamente archivos adjuntos

Cuando llega un mensaje a la aplicación de mensajes del dispositivo BlackBerry con un archivo adjunto, puede descargar automáticamente el archivo adjunto y almacenarlo en el dispositivo BlackBerry.

Antes de descargar archivos adjuntos, la clase AttachmentDownloadManager valida el archivo adjunto. AttachmentDownloadManager muestra excepciones si se produce alguna de las condiciones siguientes.

  • la aplicación intenta invocar la descarga mientras ya hay una descarga en curso
  • la aplicación intenta descargar archivos de longitud cero
  • el tamaño del archivo adjunto es mayor de lo permitido por los libros de servicios o la política de TI de la aplicación
  • los archivos adjuntos están cifrados
  • no hay espacio suficiente disponible en el dispositivo BlackBerry ni en la tarjeta SD

El método AttachmentDownloadManager.download() realiza una verificación durante el proceso de descarga. Si se encuentran errores de verificación, el método muestra una excepción. Para ver una lista de posibles errores de verificación, consulte la referencia de API para BlackBerry Java Development Environment.

Nota: BlackBerry Attachment Service recibe todos los archivos adjuntos en primer lugar. Los gestores de archivos adjuntos de terceros no pueden anular este comportamiento predeterminado. Para obtener más información acerca de BlackBerry Attachment Service, consulte la Guía de administración de BlackBerry Enterprise Server.
  1. Importe las clases y las interfaces necesarias.
    import java.io.IOException;
    import net.rim.blackberry.api.mail.*;
    
  2. Implemente la interfaz DownloadProgressListener. Cree una instancia de la clase AttachmentDownloadManager.
    public class AutoAttachTest implements DownloadProgressListener 
    {
       AttachmentDownloadManager _adm = new AttachmentDownloadManager();
  3. Utilice los métodos disponibles en AttachmentDownloadManager para determinar información sobre el archivo adjunto.
    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 descargar el archivo adjunto.
    _adm.download(bodyParts, null, this);
  5. Anule los métodos de devolución de llamada de DownloadProgressListener para ofrecer actualizaciones acerca del estado de la descarga del archivo adjunto.
    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)
    {
    }
Tema siguiente: Calendario

¿Le ha resultado útil esta información? Envíenos sus comentarios.