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.
- Importe as classes e interfaces necessárias.
import net.rim.blackberry.api.messagelist.*;
import net.rim.device.api.collection.ReadableList;
- Crie uma classe que implemente a interface ApplicationMessage.
public class MLSampleMessage implements ApplicationMessage
- Obtenha uma referência a um objeto ApplicationMessageFolderRegistry.
ApplicationMessageFolderRegistry reg =
ApplicationMessageFolderRegistry.getInstance();
- 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 );
- 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 );
- Crie uma classe que implemente a interface ApplicationMessageFolderListener.
public class AppFolderListener implements ApplicationMessageFolderListener
- 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 );
...
- 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.