2011-08-08 9 views
0

Messagelistのカスタムフォルダを使用して、アプリケーションが新しいメッセージを受け取ったときに表示します。BlackberryのMessagelistのメッセージをクリックするとアプリケーションが起動します

各メッセージには、「新しい情報を受け取った」というタイトルが含まれています。

今すぐメッセージをクリックすると、新しいメール作成ウィンドウが開きます。

私はApplicationMessageFolderListenerをオーバーライドしましたが、メッセージがクリックされたときにactionPerformedが呼び出されていないようです。

ユーザーがメッセージアプリケーションに入り、カスタムメッセージをクリックしたときにアプリケーションを起動します。これをどのように達成するのですか?

対象プラットフォーム:Blackberry 4.0以上。

答えて

0

は、次のコードを使用し

static class OpenContextMenu extends ApplicationMenuItem { 
    public OpenContextMenu(int order) { 
     super(order); 
    } 

    public Object run(Object context) { 
     if(context instanceof NewMessage) { 
      try { 
       NewMessage message = (NewMessage) context; 
       if(message.isNew()) { 
        message.markRead(); 
        ApplicationMessageFolderRegistry reg = ApplicationMessageFolderRegistry.getInstance(); 
        ApplicationMessageFolder folder = reg.getApplicationFolder(MessageList.INBOX_FOLDER_ID); 
        folder.fireElementUpdated(message, message); 
        //changeIndicator(-1); 
       } 

       Inbox inbox = message.getInbox(); 
       Template template = inbox.getTemplate(); 

       //Launch the mainscreen 
       UiApplication.getUiApplication().requestForeground(); 
      } 
      catch (Exception ex) { 
       Dialog.alert(); 
      } 
     } 
     return context; 
    } 

    public String toString() { 
     return "Name of the menu item"; 
    } 
} 
+0

をNewMessageは何か、あまりにもコードして詳細をお知らせください?そして、このコードを書くか、どこに電話をかけますか? actionPerformed()関数からどのように呼び出すのでしょうか? –

関連する問題