How to get IMEI in Java ME
The retrieval of the IMEI number from Java ME is possible only in certain phones. In some cases it is possible only if the application is signed.
In Nokia phones you can get it with:
Note: On Series 40 phones this requires that your MIDlet is signed to either operator or manufacturer domain, for devices from Series 40 3rd Edition, FP1 up to Series 40 6th Edition FP1. This practically means that this property cannot be used by 3rd party developers for the given range. Starting from Series 40 Development Platform 1.0 devices and newer, this System property is available in the untrusted 3rd party domain, so it can be used without signing by developers.
On the S60 platform this has been implemented on some of the S60 3rd Edition phones (this includes Nokia E60, Nokia E61, and Nokia E62, but not Nokia 3250 or Nokia 5500). On S60 phones this does not require signing. Generically only the business models from S60 3rd Ed (incl. FP1) devices support these. This is because only the Nokia Enterprise Business unit has taken these Java enhancements. From S60 3rd Ed, FP 2 (no devices announced currently 2007-04-05) onwards these are available on all S60 devices.
Code to retrieve IMEI's in other devices:
- Siemens: System.getProperty("com.siemens.IMEI");
- Samsung: System.getProperty("com.samsung.imei");
- SonyEricsson: System.getProperty("com.sonyericsson.imei");
- Motorola: System.getProperty("IMEI");
- Nokia: System.getProperty("com.nokia.mid.imei");
A code example with IMEI and IMSI can be found in Getting IMEI and IMSI in Java ME.
For more information, see the MIDP System Properties document on Forum.Nokia.com.