Android imei号码-怎么取?

Android imei number - how to pick it?

使用手机开发了一个应用程序phone 使用此代码选择 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 号码不选择并给出一个空指针

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

这是基础问题 url 还是 我怎样才能避免这个 imei 号码的问题?

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"/>

有这个常用方法。没有 SIM 插槽的设备将 return 无效 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;
    }

尝试此代码,如果设备基于 GSM,它将 return 您的 IMEI 号码,如果不是,则取回 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); 
        }

同时在您的清单中授予读取 phone 状态权限。

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