2010/06/14

How to get Phone IMEI number with J2ME


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
JAVA:
  1. System.getProperty("phone.imei");
  2. System.getProperty("com.nokia.IMEI");
Note ; Requires signed midlet. S60 3rd edition device does not requires signing for this to work.
Sony-Ericsson
JAVA:
  1. System.getProperty("com.sonyericsson.imei");
Note ; might not work on all model, YMMV
Motorola
JAVA:
  1. System.getProperty("IMEI");
  2. System.getProperty("com.motorola.IMEI");

Samsung
JAVA:
  1. System.getProperty("com.samsung.imei");
Siemens
JAVA:
  1. 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").

0 comments:

Post a Comment