How to get IMEI in Java ME
The retrieval of 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 System.getProperty("com.nokia.mid.imei").
On Series 40 phones this requires that your MIDlet is signed to either operator or manufacturer domain, and this is only available in Series 40 3rd Edition, FP1 devices and newer.
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"); System.getProperty("com.motorola.IMEI"); Nokia: System.getProperty("com.nokia.mid.imei");
For more information see MIDP System Properties document on Forum.Nokia.com