How to get Phone IMEI number with J2ME / JavaME
International Mobile Equipment Identity (IMEI) is used to identify valid devices connected to GSM and UMTS network. This number can be accessed from a mobile phone by dialing *#06# on the keypad. IMEI is commonly use by software developers as part of software protection scheme to prevent it from being pirated.
JavaME developers however suffers from a drawback because MIDP/CLDC specification does not include an API to obtain IMEI from mobile devices. However there are few phone manufacturers included this functionality through System.getPropery() calls.
Here's how to get IMEI number from mobile devices of different manufacturers
Nokia
PLAIN TEXTJAVA:
System.getProperty("phone.imei");
System.getProperty("com.nokia.IMEI");
Note ; Requires signed midlet. S60 3rd edition device does not requires signing for this to work.
Sony-Ericsson
PLAIN TEXTJAVA:
System.getProperty("com.sonyericsson.imei");
Note ; might not work on all model, YMMV
Motorola
PLAIN TEXTJAVA:
System.getProperty("IMEI");
System.getProperty("com.motorola.IMEI");
Samsung
PLAIN TEXTJAVA:
System.getProperty("com.samsung.imei");
Siemens
PLAIN TEXTJAVA:
System.getProperty("com.siemens.imei");
Hopefully this information can aid you in your J2ME programming projects.
Quick Tip :
It's quite hard to determine the phone model/manufacturer well ahead beforehand. For a more robust solution, I suggest that you combine the above call with System.getProperty("microedition.platform").
JavaME developers however suffers from a drawback because MIDP/CLDC specification does not include an API to obtain IMEI from mobile devices. However there are few phone manufacturers included this functionality through System.getPropery() calls.
Here's how to get IMEI number from mobile devices of different manufacturers
Nokia
PLAIN TEXTJAVA:
System.getProperty("phone.imei");
System.getProperty("com.nokia.IMEI");
Note ; Requires signed midlet. S60 3rd edition device does not requires signing for this to work.
Sony-Ericsson
PLAIN TEXTJAVA:
System.getProperty("com.sonyericsson.imei");
Note ; might not work on all model, YMMV
Motorola
PLAIN TEXTJAVA:
System.getProperty("IMEI");
System.getProperty("com.motorola.IMEI");
Samsung
PLAIN TEXTJAVA:
System.getProperty("com.samsung.imei");
Siemens
PLAIN TEXTJAVA:
System.getProperty("com.siemens.imei");
Hopefully this information can aid you in your J2ME programming projects.
Quick Tip :
It's quite hard to determine the phone model/manufacturer well ahead beforehand. For a more robust solution, I suggest that you combine the above call with System.getProperty("microedition.platform").
Comments