Android imei号码 - 怎么选择它?

时间:2015-10-29 04:59:14

标签: android tabs imei

使用手机开发了一款应用 使用此代码选择imei号

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();

使用移动设备测试并且它正常工作但是当apk安装了一个标签(在客户端)时,imei号码不会选择并给出空指针

请注意。对于标签我添加了不同的布局,它也可以在我的选项卡中正常工作

这是基本网址还是 我怎么能避免这个imei号的问题?

3 个答案:

答案 0 :(得分:2)

java Class 并添加以下代码

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

AndroidManifest.xml 并添加以下代码

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

答案 1 :(得分:2)

有这种常用方法。没有SIM插槽的设备将返回空IMEI。所以选择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;
    }

答案 2 :(得分:0)

尝试此代码,如果设备基于GSM,或者如果没有取回Android ID,它将返回IMEI号。

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); 
        }

还在清单中提供读取手机状态权限。

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