Semantics of KUidInboxStatus notification changed in S60 5th Edition

From Nokia Developer Wiki
Jump to: navigation, search

Article Metadata
Tested with
Devices(s): Nokia 5800 FW 30.0.011, N97 FW 11.0.021
Platform(s): Series 60 5th Edition
S60 5th Edition
Created: mgroeber9110 (02 Sep 2009)
Last edited: hamishwillee (15 Jun 2012)


KIS000386_-_Information_retrieved_using_the_Publish_and_Subscribe_keys_defined_in_SaCls.h_is_incorrect describes an adjustment that is made to the value returned by the KUidSystemCategory/KUidInboxStatus Publish&Subscribe key that can be used to check for unread messages, as well as other keys.

However, this adjustment is no longer applied for KUidInboxStatus on 5th Edition (not tested for other keys). Therefore, the values returned by RProperty::Get() are now 0 and 1, respectively, rather than 1 and 2. In addition KErrUnknown (-19) is also a valid return value if the key has not yet been set, e.g. during early startup.


As there is no other documented way of querying the presence of unread messages in the inbox, checking the status of this key has to be performed in two different ways depending on the platform of your application: on 3rd Edition, check for ESAInboxEmpty/ESADocumentInInbox, while on 5th Edition one needs to check between 0 (meaning there are unread messages) and KErrNotFound. As the value ranges are overlapping, this requires an explicit check of the platform / device version, and would break if the above discrepancy is ever fixed.

A possible, though much less efficient, alternative could be to check the unread count using the code given in How_to_get_the_count_of_unread_messages_from_Inbox.

This page was last modified on 15 June 2012, at 05:07.
19 page views in the last 30 days.