Criar uma pasta personalizada na lista de mensagens

As mensagens personalizadas são mantidas em pastas personalizadas. Para executar operações em mensagens personalizadas, o aplicativo do aparelho BlackBerry deve registrar pelo menos uma pasta personalizada.

  1. Importe as classes e interfaces necessárias.
    import net.rim.blackberry.api.messagelist.*;
    import net.rim.device.api.collection.ReadableList;
  2. Crie uma classe que implemente a interface ApplicationMessage.
    public class MLSampleMessage implements ApplicationMessage
  3. Obtenha uma referência a um objeto ApplicationMessageFolderRegistry.
    ApplicationMessageFolderRegistry reg = 
       ApplicationMessageFolderRegistry.getInstance();
  4. Invoque ApplicationMessageFolderRegistry.registerFolder() para registrar uma pasta personalizada para cada conjunto de mensagens.
    // collections of MLSampleMessage instances 
    ReadableList inboxMessages = messages.getInboxMessages(); 
    ReadableList deletedMessages = messages.getDeletedMessages(); 
    ApplicationMessageFolder inboxFolder = reg.registerFolder( 
       INBOX_FOLDER_ID, 
       "Inbox", 
       inboxMessages );
    ApplicationMessageFolder deletedFolder = reg.registerFolder( 
       DELETED_FOLDER_ID, 
       "Deleted Messages",   
       deletedMessages, 
       false );
  5. Invoque ApplicationMessageFolder.addListener() para adicionar um ouvinte de modo que seu aplicativo possa ser notificado quando eventos específicos de pasta ocorrerem. No exemplo de código a seguir, o aplicativo escuta as mensagens excluídas. Para obter uma lista de todas as ações que você pode escutar, consulte a documentação para a classe ApplicationMessageFolderListener na referência da API para o BlackBerry Java SDK.
    deletedFolder.addListener( this, 
       ApplicationMessageFolderListener.MESSAGE_DELETED );
  6. Crie uma classe que implemente a interface ApplicationMessageFolderListener.
    public class AppFolderListener implements ApplicationMessageFolderListener
  7. Implemente ApplicationMessageFolderListener.actionPerformed() para executar ações quando um evento de pasta ocorre.
    public void actionPerformed( int action, ApplicationMessage[] messages, 
       ApplicationMessageFolder folder ) 
    {
       // check if action was performed on multiple messages
       if( messages.length == 1 )  
       {
         switch( action ) 
         {
            case ApplicationMessageFolderListener.MESSAGE_DELETED:
               messageStore.deleteInboxMessage( message );
       ...
  8. Invoque ApplicationMessageFolderRegistry.setRootFolderName() para especificar o nome da pasta raiz para as pastas personalizadas do aplicativo. O nome da pasta raiz é exibido na caixa de diálogo Exibir pasta do aplicativo Mensagens quando um aplicativo registra mais de uma pasta de mensagens.
    reg.setRootFolderName( "ML Sample" );

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