How to get IMEI in Java ME
Article Metadata
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:
System.getProperty("com.nokia.mid.imei")
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");
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 Developer.Nokia.com.


One more possible value for Motorola phones: System.getProperty("com.motorola.IMEI" );
From my side, 100% working values that has been checked on real mobile devices is:
Not working in N5000 and N5610.... the signed and the not signed..
Me is not working too. I have signed application with my certificate from VeriSign.
So now I know how to get the IMEI. I wonder why there are restriction on getting it. Aren't there instruction how to get it with codes on manufactures websites?--warjan 21:24, 4 September 2009 (UTC)
Comment by Forum Nokia: This article states that "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."
This means that 3rd party certificates like Thawte and Verisign cannot be used as these certificates do not sign Java applications to operator or manufacturer domain.
To get a Java application signed into operator or manufacturer domain, close collaboration with those parties is required as precondition. (Source: Java Security Domains)
Aabdelghany - Can't get IMEI
I have a Nokia E52 and i used the former examples and none of them enables me to read the IMEI... can you please help....aabdelghany 22:00, 30 October 2011 (EET)
Hamishwillee - Written in 2007
Hi
This was written in 2007, so there is a good chance that the author is not still watching it. If the instructions in Getting IMEI and IMSI in Java ME do not work I suggest you try on the Discussion boards. Please update this article if you find a solution.
Regards
Hamishhamishwillee 05:53, 3 November 2011 (EET)