我想知道用戶何時從我的應用程序拋出的通知區域(從主屏幕打開 - 點擊應用程序通知圖標)打開郵件。Blackberry - 在applicationMessage打開時收聽
ApplicationMessageFolderListener
不起作用,並註冊applicationMenuItem導致消息不再打開(請參閱Blackberry - use of ApplicationMenuItem when opening a message)。
有誰知道如何做到這一點?
我想知道用戶何時從我的應用程序拋出的通知區域(從主屏幕打開 - 點擊應用程序通知圖標)打開郵件。Blackberry - 在applicationMessage打開時收聽
ApplicationMessageFolderListener
不起作用,並註冊applicationMenuItem導致消息不再打開(請參閱Blackberry - use of ApplicationMenuItem when opening a message)。
有誰知道如何做到這一點?
下面的代碼應該會有所幫助:
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()
是隻得到所謂的第一次將其標記爲舊或其他。
感謝您的答案,但它不適用於我。打開消息時,偵聽器不會被調用。如果我刪除該消息,那麼它被調用。 –
applicationMessageFolder.addListener(alarmsMessageFolderListener, \t \t \t \t \t \t ApplicationMessageFolderListener.MESSAGE_DELETED | \t \t \t \t \t \t ApplicationMessageFolderListener.MESSAGE_MARKED_OPENED | \t \t \t \t \t \t ApplicationMessageFolderListener.MESSAGE_MARKED_UNOPENED,daemonDescr); –
ApplicationMessageFolderListener正在執行?並添加了actionPerformed方法? –
是的,它已經實現了,但是隻有一次使用MARK_OLD操作和消息的空數組被調用。請參閱「http://stackoverflow.com/questions/8536271/blackberry-open-application-on-mesage-notification-click」 - 「當用戶打開ApplicationMessage對象時,ApplicationMessageFolderListener.actionPerformed()不會被通知。如果用戶將郵件標記爲打開而未實際打開它,經過一些挖掘,這是設計「 –