Erstellen von benutzerdefinierten Ordnern in der Nachrichtenliste

Benutzerdefinierte Nachrichten werden in benutzerdefinierten Ordnern gespeichert. Um Vorgänge an benutzerdefinierten Nachrichten auszuführen, muss mindestens ein benutzerdefinierter Ordner in Ihrer BlackBerry-Geräteanwendung registriert sein.

  1. Importieren Sie die erforderlichen Klassen und Schnittstellen.
    import net.rim.blackberry.api.messagelist.*;
    import net.rim.device.api.collection.ReadableList;
  2. Erstellen Sie eine Klasse, die die ApplicationMessage-Schnittstelle implementiert.
    public class MLSampleMessage implements ApplicationMessage
  3. Rufen Sie eine Referenz auf ein ApplicationMessageFolderRegistry-Objekt ab.
    ApplicationMessageFolderRegistry reg = 
       ApplicationMessageFolderRegistry.getInstance();
  4. Rufen Sie ApplicationMessageFolderRegistry.registerFolder() auf, um einen benutzerdefinierten Ordner für jede Sammlung von Nachrichten zu registrieren.
    // 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. Rufen Sie ApplicationMessageFolder.addListener() auf, um einen Listener hinzuzufügen, damit Ihre Anwendung benachrichtigt werden kann, wenn bestimmte Ordnerereignisse eintreten. Im folgenden Codebeispiel fragt die Anwendung gelöschte Nachrichten ab. Eine Liste aller Aktionen, die Sie abfragen können, erhalten Sie in der Dokumentation zur ApplicationMessageFolderListener-Klasse in der AP-Referenz für das BlackBerry Java SDK.
    deletedFolder.addListener( this, 
       ApplicationMessageFolderListener.MESSAGE_DELETED );
  6. Erstellen Sie eine Klasse, die die ApplicationMessageFolderListener-Schnittstelle implementiert.
    public class AppFolderListener implements ApplicationMessageFolderListener
  7. Implementieren Sie ApplicationMessageFolderListener.actionPerformed(), um Aktionen auszuführen, wenn ein Ordnerereignis eintritt.
    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. Rufen Sie ApplicationMessageFolderRegistry.setRootFolderName() auf, um den Namen des Stammordners für die benutzerdefinierten Ordner Ihrer Anwendung festzulegen. Der Name des Stammordners zeigt im Dialogfeld "Ordner anzeigen" der Nachrichtenanwendung an, wenn eine Anwendung in mehr als einem Anwendungsnachrichtenordner registriert ist.
    reg.setRootFolderName( "ML Sample" );

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.