The table below defines the Nokia-specific system properties used by Series 40 devices.
System property |
Description |
Series 40 release |
Value |
---|---|---|---|
Returns the total amount of graphics memory available on the device in bytes. |
|||
Returns the amount of allocated graphics memory on the device in bytes. |
|||
Returns the amount of shared memory used by the application (MIDlet) process in bytes. Shared memory is allocated for objects that can be used by multiple processes on a device. |
|||
Returns the amount of private memory used by the application (MIDlet) process in bytes. Private memory is allocated to objects that can only be used by a specific process on a device. |
|||
|
This can be used to query the available RAM in the operating system. This is a more realistic estimate of available RAM on
the device than what is returned by |
||
Returns the database names of all the calendars available on the device. For more information about calendars, see the following sections: |
Returns the database names of the calendars. The names are separated by commas. |
||
|
The preferred date format indicated as a string pattern,
which is formatted according to the rules defined in Java 2, Standard
Edition, version 1.4.1, |
Series 40 3rd Edition |
|
|
The preferred time format indicated as a string pattern,
which is formatted according to the rules defined in Java Standard
Edition, version 1.4.1, |
Series 40 3rd Edition |
hh:mm a |
Returns |
Java Runtime 1.0.0 for Series 40 |
||
Default platform value for maximum frames per second (fps). This can be used when specifying the maximum fps for a linear drag or kinetic scroll animation. |
Series 40 6th Edition Feature Pack 1 |
Returns the default maximum fps as a short integer. |
|
Default platform value for maximum pixels per second (pps). This can be used when specifying the maximum pps for a kinetic scroll animation. |
Series 40 6th Edition Feature Pack 1 |
Returns the default maximum pps as a short integer. |
|
Returns |
Java Runtime 2.0.0 for Series 40 |
||
Returns always |
Java Runtime 2.0.0 for Series 40 |
||
|
The battery charge level of the device. |
Java Runtime 1.0.0 for Series 40 |
Returns the percentage value of the battery charge level. |
|
Network access type of used active connection or a set default access point. |
Series 40 3rd Edition |
|
|
Returns the type of GPRS support. |
Series 40 5th Edition Feature Pack 1 |
Possible values include, for example:
|
|
Returns the localized name of the specified directory as it is displayed in the device UI. The directory must be specified with its full path. For example, on a device whose display language
is set to English, the localized UI name of |
Series 40 5th Edition Feature Pack 1 |
For example:
|
|
Current network country code. Security prompting behaves according to Location function group settings. |
Java Runtime 1.0.0 for Series 40 |
Returns the mobile country code defined in ITU-T Recommendation E.212. |
|
Current network country code for SIM1 or SIM2. Note: This property is available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
Returns the mobile country code defined in ITU-T Recommendation E.212. |
|
Network identification parameters (Network Identification Number (NID) in CDMA and Mobile Network Code (MNC) in GSM) and network short name. Security prompting behaves according to Location function group settings. Note: From Series 40 3rd Edition Feature Pack 1 to Series 40 6th Edition Feature Pack 1, this property is available only in the manufacturer and operator domains. From Java Runtime 1.0.0 for Series 40 onwards, this property is available in all domains. |
Series 40 3rd Edition Feature Pack 1 |
Returns two values:
For a list of possible values, see list of MNCs |
|
Network identification parameters (Network Identification Number (NID) in CDMA and Mobile Network Code (MNC) in GSM) and network short name for SIM1 or SIM2. Security prompting behaves according to Location function group settings. Note: This property is available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
Returns two values:
For a list of possible values, see list of MNCs |
|
On 2G devices, returns identity of the cell from which a mobile telephony call was made or received. On 3G devices, returns UC-ID (UTRAN ID) value, which is a combination of Radio Network Controller ID (RNC-ID) and cell ID. Security prompting behaves according to Location function group settings. Note: From Series 40 5th Edition Feature Pack 1 to Series 40 6th Edition Feature Pack 1, this property is available only in the manufacturer and operator domains. From Java Runtime 1.0.0 for Series 40 onwards, this property is available in all domains. |
Series 40 5th Edition Feature Pack 1 |
|
|
On 2G devices, returns identity of the cell from which a mobile telephony call was made or received. On 3G devices, returns UC-ID (UTRAN ID) value, which is a combination of Radio Network Controller ID (RNC-ID) and cell ID. Security prompting behaves according to Location function group settings. Note: These properties are available only on dual-SIM devices. Note: Nokia SDK for Java provides compile time support for these properties, but no simulation support. So, the return value for these properties is always zero in Nokia SDK for Java. |
Java Runtime 1.0.0 for Series 40 |
|
|
Returns current GSM location area code (LAC) as a string.
The SIM card must be inserted and service acquired in order to return
a LAC value, otherwise returns This value applies only to 2G devices. Security prompting behaves according to Location function group settings Note: From Series 40 5th Edition Feature Pack 1 to Series 40 6th Edition Feature Pack 1, this property is available only in the manufacturer and operator domains. From Java Runtime 1.0.0 for Series 40 onwards, this property is available in all domains. |
Series 40 5th Edition Feature Pack 1 |
|
|
Returns current GSM location area code (LAC) as a string
for SIM1 or SIM2. The SIM card must be inserted and service acquired
in order to return a LAC value, otherwise returns This value applies only to 2G devices. Security prompting behaves according to Location function group settings Note: These properties are available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
|
|
Returns the setting from a user menu option elsewhere in the phone software. |
Series 40 5th Edition Feature Pack 1 |
|
|
Returns layout alignment. |
Series 40 6th Edition Feature Pack 1 |
Returns the string |
Returns the Overview of Nokia Notifications API supported by the device. |
Java Runtime 2.0.0 for Series 40 |
For example:
|
|
|
Whether Ovi Messaging Bus (OMB) is enabled or disabled. Note: This property is available only in the manufacturer and operator domains. |
Series 40 6th Edition Feature Pack 1 |
Returns the string |
|
Whether the device is in the home network or currently roaming. |
Java Runtime 1.0.0 for Series 40 |
Possible values:
|
|
Network availability. |
Java Runtime 1.0.0 for Series 40 |
|
|
Current (GSM/CDMA) network signal strength. The output
format is as follows: |
Java Runtime 1.0.0 for Series 40 |
Returns two values:
|
|
The network status (home, roaming, or unknown) for SIM1 or SIM2. Note: These properties are available only on dual-SIM devices. Note: These properties are not supported in Nokia SDK for Java. |
Java Runtime 1.0.0 for Series 40 |
Possible values:
|
|
Network availability for SIM1 or SIM2. Note: These properties are available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
|
|
Current (GSM/CDMA) network signal strength for SIM1 or SIM2. The output format is as follows: Note: These properties are available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
Returns two values:
|
|
The International Mobile Equipment Identity (IMEI) of the device. Note: From Series 40 3rd Edition Feature Pack 1 to Series 40 6th Edition Feature Pack 1, this property is available only in the manufacturer and operator domains. From Java Runtime 1.0.0 for Series 40 onwards, this property is available in all domains. |
Series 40 3rd Edition Feature Pack 1 |
Returns a 14 digit decimal number that uniquely identifies the device. |
|
The International Mobile Subscriber Identity (IMSI) stored in the SIM card. Note: The access to this system property
is limited with Note: In Series 40, this property is available only in the manufacturer and operator domains. |
Series 40 3rd Edition Feature Pack 1 |
Returns the subscriber number associated with the device. The IMSI number is usually 14 decimal digits long, but it may be shorter. |
|
Returns service provider name (if available on SIM). Note: In Series 40, this property is available only in the manufacturer and operator domains. |
Series 40 3rd Edition Feature Pack 1 |
Returns |
|
Returns the Mobile Country Code (MCC) and Mobile Network Code (MNC). Note: From Series 40 3rd Edition Feature Pack 1 to Series 40 6th Edition Feature Pack 1, this property is available only in the manufacturer and operator domains. From Java Runtime 1.0.0 for Series 40 onwards, this property is available in all domains. |
Series 40 3rd Edition Feature Pack 1 |
Returns the MCC and MNC as a 4 to 6 digit string (depending on operator). |
|
Returns the Mobile Country Code (MCC) and Mobile Network Code (MNC) for SIM1 or SIM2. Note: These properties are available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
Returns the MCC and MNC as a 4 to 6 digit string (depending on operator). |
|
Returns MMSC on devices with JSR205 implemented for SIM1 or SIM2. Note: These properties are available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
|
|
Returns the SMS message centre number for SIM1 or SIM2. Note: These properties are available only on dual-SIM devices. |
Java Runtime 1.0.0 for Series 40 |
|
|
Returns operator name. Note: In Series 40, this property is available only in the manufacturer and operator domains. |
Series 40 3rd Edition Feature Pack 1 |
Returns operator name as string. |
|
Returns Group Identifier level 1 (GID1). Note: This property is available only in the manufacturer and operator domains. |
Series 40 6th Edition |
The structure of GID1 and GID2 are identical. They are provided to allow the network operator to enforce different levels of security dependant on application. |
|
Returns Group Identifier level 2 (GID2). Note: This property is available only in the manufacturer and operator domains. |
Series 40 6th Edition |
The structure of GID1 and GID2 are identical. They are provided to allow the network operator to enforce different levels of security dependant on application. |
The Mobile Station International Subscriber Directory Number (MSISDN) stored in the SIM card. Note: In Series 40, this property is available only in the manufacturer and operator domains. |
Series 40 6th Edition |
Returns all MSISDN numbers stored in the SIM separated by blank (Unicode U+0020). One MSISDN number is usually maximized to 15 decimal digits. Note: SIM cards do not necessarily contain
a single MSISDN. If none are present, |
|
Indicates the area covered by the networking indicator in
full-screen mode |
Used only when |
||
|
Indicates the position of the left (1), right (2) and middle (3) softkey labels, respectively. |
Used only when For an example on using softkey labels, see section Setting softkey label location. |
|
|
Indicates the alignment of the left (1), right (2) and middle (3) softkey labels, respectively. |
Used only when The value is the combined (bitwise OR) values of anchor points as
defined in MIDP specification in Otherwise returns For an example on using softkey labels, see section Setting softkey label location. |
|
A parameter can be mapped to a value ( |
|
||
|
Returns the number of times the MIDlet has been launched. |
An incremental number of times the MIDlet has been launched. |
The com.nokia.mid.timeformat
and com.nokia.mid.dateformat
system properties indicate the
user preferences of date and time formats. For example, on many devices
there are settings available for the user to indicate the date and
time formatting settings: ordering of date, month and year components
of date strings, separators used between components of date and time
strings, whether 12 or 24 hour clock is used, and so on. The values
of the above system properties indicate the currently active user
preferences for these settings. MIDlets can use these values, for
example, to format date and time strings they need to display in the
user interface.
System property |
Description |
Series 40 Release |
Value |
---|---|---|---|
|
Gives the type of physical device keyboard as a string. |
Series 40 6th Edition Feature Pack 1 |
Returns a variety of potential values. For full details, see table Return values for key type. |
|
Returns the scan code of last pressed key. For further usage,
the return value can be converted using the |
Series 40 6th Edition Feature Pack 1 |
Scan codes are device keyboard driver specific. From Series 40 6th Edition Lite onwards, the system property handles QWERTY keyboards. |
|
Returns modifier value of last pressed key. For further
usage, the return value can be converted using the |
Returns a variety of potential values. For full details, see table Return values for com.nokia.key.modifier. The
return value can carry multiple modifier flags. Bitwise |
Keyboard layout |
String value |
---|---|
No keypad (for example a touch device without keypad) |
|
Standard ITU-T keypad (Phone keypad with 12 keys) |
|
QWERTY (4x12 layout) |
|
QWERTY (limited, 4x10 layout) |
|
QWERTY (limited, 3x11 layout) |
|
Half QWERTY layout (also known as Compact QWERTY keyboard) layout. Note: In half QWERTY layout, a single key is used
to input more than one character. This kind of text input requires
the use of tapping or predictive input methods similar to Standard
ITU-T keypad ( |
|
Custom QWERTY layout |
|
Unknown layout |
|
The following example shows you how to use the system properties
from the above tables. This example contains code snippets that are
inserted in various parts of the target MIDlet. The used Canvas
is assumed to have the name TestCanvas
.
private static final int LSHIFT = 0x00000500; private static final int RSHIFT = 0x00000600; private static final int LCTRL = 0x000000A0; private static final int RCTRL = 0x000000C0; private static final int FN = 0x00003000; private static final int CHR = 0x00002800; int keyCode; int keyScanCode = 0; int keyModifiers = 0; String keyboard = “”; String modifier = “”;To process the output values from the system properties, insert the following lines into the
keyPressed
method: this.keyCode = 0; this.keyScanCode = 0; this.keyModifiers = 0; this.keyCode = keyCode; //keyCode is argument of keyPressed method try { this.keyScanCode = Integer.parseInt(System.getProperty("com.nokia.key.scancode")); this.keyModifiers = Integer.parseInt(System.getProperty("com.nokia.key.modifier")); } catch (NumberFormatException e) { e.printStackTrace(); } //if keyModifiers value contains some of modifier bits, //name of corresponding key is added to modifier string this.modifier = ""; this.modifier += ((this.keyModifiers & TestCanvas.LSHIFT) == TestCanvas.LSHIFT) ? "LSHIFT " : ""; this.modifier += ((this.keyModifiers & TestCanvas.RSHIFT) == TestCanvas.RSHIFT) ? "RSHIFT " : ""; this.modifier += ((this.keyModifiers & TestCanvas.FN) == TestCanvas.FN) ? "FN " : ""; this.modifier += ((this.keyModifiers & TestCanvas.CHR) == TestCanvas.CHR) ? "CHR " : ""; this.keyboard = System.getProperty("com.nokia.keyboard.type");
To print the current values on screen, add the
following lines inside the paint
method:
g.setColor(0xffffffff); g.fillRect(0, 0, this.getWidth(), this.getHeight()); Font f = g.getFont(); g.setColor(0xff000000); g.drawString("Keyboard: " + this.keyboard, 0, 0 + f.getHeight()*0, Graphics.TOP | Graphics.LEFT); g.drawString("Key code: " + this.keyCode, 0, 0 + f.getHeight()*1, Graphics.TOP | Graphics.LEFT); g.drawString("Scan code: " + this.keyScanCode, 0, 0 + f.getHeight()*2, Graphics.TOP | Graphics.LEFT); g.drawString("Modifier: " + this.keyModifiers, 0, 0 + f.getHeight()*3, Graphics.TOP | Graphics.LEFT); g.drawString("Modifiers: " + this.modifier, 0, 0 + f.getHeight()*4, Graphics.TOP | Graphics.LEFT); g.drawString("Character: " + (char)this.keyCode, 0, 0 + f.getHeight()*5, Graphics.TOP | Graphics.LEFT);