Sisara Ranasinghe
Sisara Ranasinghe

Reputation: 131

Android imei number - how to pick it?

developed an app using a mobile phone used this code to pick imei number

Utill.class

static TelephonyManager telephonyManager;
public static String getDeviceID(){
telephonyManager=(TelephonyManager) MyApplication.getInstance().getSystemService(MyApplication.getInstance().TELEPHONY_SERVICE);

        return telephonyManager.getDeviceId();

    }

in my job.class

String imeino = Util.getDeviceID();

tested with mobile devises and it works properly but when apk installed a tab (in client side ) imei number does not pick and give a null pointer

Note. for tab i have added different layouts and it also works properly in my tab

is this a matter of base url or how can i avoid this issue of imei number ?

Upvotes: 0

Views: 972

Answers (3)

Ahsan Kamal
Ahsan Kamal

Reputation: 1105

Try this code it will return you IMEI number if device GSM based or if not get back the Android ID.

String devcieId;   
    TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        if (mTelephony.getDeviceId() != null){
            devcieId = mTelephony.getDeviceId(); 
        }else{
             devcieId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID); 
        }

Also give the read phone state permission in your manifest.

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Upvotes: 0

Dhinakaran Thennarasu
Dhinakaran Thennarasu

Reputation: 3356

Have this common method. Devices without SIM slot will return null IMEI. So pick ANDROID_ID.

public String getDeviceID(){ 
    String devcieId;   
    TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        if (mTelephony.getDeviceId() != null){
            devcieId = mTelephony.getDeviceId(); 
        }else{
             devcieId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID); 
        }
    return devcieId;
    }

Upvotes: 2

Android
Android

Reputation: 535

java Class and add following code

TelephonyManager tel;
TextView imei;                
    tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);        
    imei = (TextView) findViewById(R.id.textView2);
    imei.setText(tel.getDeviceId().toString());

AndroidManifest.xml and add following code

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Upvotes: 3

Related Questions