Blackberry - использование ApplicationMenuItem при открытии сообщения

Я хочу иметь прослушиватель, когда сообщение открывается из папки сообщений приложения. Для этого я использую ApplicationMenuItem, но после регистрации сообщение больше не может быть открыто.

ApplicationMessageFolderRegistry messagefolderRegistry = ApplicationMessageFolderRegistry.getInstance();
        messaageMenuItemListener = new CVSMessaageMenuItemListener();
        CVSApplicationMenuItem menuItem = new CVSApplicationMenuItem();
        menuItem.registerMenuItemListener(messaageMenuItemListener);        
        messagefolderRegistry.registerMessageMenuItems(CVSApplicationMessage.TYPE_ALARMS, ApplicationMessage.Status.UNOPENED, new ApplicationMenuItem[]{menuItem});
        messagefolderRegistry.registerMessageIcon(CVSApplicationMessage.TYPE_ALARMS, ApplicationMessage.Status.UNOPENED, alarmsIcon);

и пункт меню:

public class CVSApplicationMenuItem extends ApplicationMenuItem {

    private CVSVector listeners;

    CVSApplicationMenuItem(){
        super(20);
    }

    public Object run(Object context) {
        if(!(context instanceof CVSApplicationMessage))
            return context;

        CVSApplicationMessage applicationMessage = (CVSApplicationMessage)context;
        if(listeners == null)
            return context;

        for (int i = 0; i < listeners.size(); i++) {
            ((ICVSApplicationMessageMenuItemListener)listeners.itemAt(i)).messageReaded(applicationMessage);
        }
        return context;
    }

    public void registerMenuItemListener(ICVSApplicationMessageMenuItemListener l){
        if(listeners == null)
            listeners = new CVSVector();

        if(l != null)
            listeners.addItem(l);
    }

    public String toString() {
        return null;
    }

}

Я вижу сообщение в списке сообщений (открытое из домашнего значка уведомления), но не могу его открыть. Если я делаю следующее, это работает, но тогда у меня нет обратного вызова, когда сообщение «открыт:

//messagefolderRegistry.registerMessageMenuItems(CVSApplicationMessage.TYPE_ALARMS, ApplicationMessage.Status.UNOPENED, new ApplicationMenuItem[]{menuItem});

Ответы на вопрос(1)

Ваш ответ на вопрос