使用手机开发了一款应用 使用此代码选择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号的问题?
答案 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"/>