我想知道用户何时从我的应用程序抛出的通知区域(从主屏幕打开 - 单击应用程序通知图标)打开消息。
ApplicationMessageFolderListener
不要为此工作,注册 applicationMenuItem 会导致消息不再打开(请参阅Blackberry - 打开消息时使用 ApplicationMenuItem)。
有人知道怎么做这个吗?
我想知道用户何时从我的应用程序抛出的通知区域(从主屏幕打开 - 单击应用程序通知图标)打开消息。
ApplicationMessageFolderListener
不要为此工作,注册 applicationMenuItem 会导致消息不再打开(请参阅Blackberry - 打开消息时使用 ApplicationMenuItem)。
有人知道怎么做这个吗?
下面的代码应该会有所帮助:
ApplicationMessageFolderRegistry registry =
ApplicationMessageFolderRegistry.getInstance();
ApplicationMessageFolder inbox =
registry.getApplicationFolder(MessageListHelper.YOUR_CUSTOM_INBOX_FOLDER_ID);
ApplicationDescriptor daemonDescr =
ApplicationDescriptor.currentApplicationDescriptor();
从存储中获取现有消息并将它们注册到文件夹中。
MessageStore messages = MessageListHelper.getMessageStore();
ApplicationMessageFolder inbox =
registry.registerFolder(MessageListHelper.YOUR_CUSTOM_INBOX_FOLDER_ID,
"Inbox", messages.getInboxMessages());
将自己注册为回调通知的侦听器。
inbox.addListener(this, ApplicationMessageFolderListener.MESSAGE_DELETED |
ApplicationMessageFolderListener.MESSAGE_MARKED_OPENED |
ApplicationMessageFolderListener.MESSAGE_MARKED_UNOPENED, daemonDescr);
messages.setFolders(inbox);
registry.setRootFolderName(MessageListHelper.ROOT_FOLDER_NAME);
我只是在将侦听器添加到收件箱时感觉到,您可能会错过您设置的选项,例如
ApplicationMessageFolderListener.MESSAGE_DELETED |
ApplicationMessageFolderListener.MESSAGE_MARKED_OPENED |
ApplicationMessageFolderListener.MESSAGE_MARKED_UNOPENED
所以,actionPerformed()
只是第一次被调用来标记它旧或什么的。