×
Namespaces

Variants
Actions
Revision as of 08:47, 3 July 2012 by hamishwillee (Talk | contribs)

Difference in SMS and PushRegistry behavior in Series 40 and S60

From Nokia Developer Wiki
Jump to: navigation, search



Article Metadata
Code ExampleCompatibility
Platform(s): Series 40 Platform
S60 Platform
Series 40
Symbian
S60 2nd Edition (initial release)
Article
Created: User:Technical writer 2 (24 Aug 2006)
Last edited: hamishwillee (03 Jul 2012)

Overview

Difference in SMS and PushRegistry behavior in Series 40 and S60

Description

When a MIDlet registers SMS connections with PushRegistry, the behavior is different in Series 40 and S60.
The problem can reproduced by using the Nokia Developer example MIDP 2.0: Wireless Messaging API Example.
It is possible to initiate a MIDlet (WMAExample.zip in this case) with an SMS and retrieve its contents in many phone models, such as the Nokia 6101 (Series 40) and many other MIDP 2.0 models, but the same application cannot retrieve the SMS content if you try to run it on an S60 device (such as the Nokia 6600 and the Nokia N90) .
Using PushRegistry.listConnections() prior to the call to the listen() method solves the problem. This should be the correct behavior, as this kind of code is the standard method for all types of PushRegistry-activated MIDlets to check the way they were started.
Series 40 may have a different implementation behavior as it is a different operating system; some significant differences are known, especially for the PushRegistry.
In Series 40, notifyIncomingMessage method is called when the MIDlet starts up, so the developer can retrieve the content of the message within this method. In S60, this method is not called, and the MIDlet has to use PushRegistry.listConnections(true) within startApp() method in order to perform the same operation.
WMAExample.zip is an Eclipse project with an updated WMAExample.java, adding to the startApp() method the needed check for connections and messages that may be pending in the PushRegistry.

76 page views in the last 30 days.