下面是主要内容:
- IMEI 和 IMSI 是什么
- 如何获取 IMEI 和 IMSI
- 代码示例
1. 先看下 IMEI 和 IMSI 是什么
IMEI(International Mobile Equipment Identity):相当于手机的身份证号码;是由15位数字组成的”电子串号”,其组成结构为TAC(6位数字)+FAC(两位数字)+SNR(6位数字)+SP (1位数字),每一个手机组装完毕后都会被赋予一组号码,这便是 IMEI 。
IMSI(International Mobile Subscriber Identification Number):区别移动用户的标志,存储在 SIM 卡中,用于区别移动用户的有效信息。
2. 如何获取 IMEI 和 IMSI
首先添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
//获取手机IMEI号
public String getIMEI() {
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
@SuppressLint("MissingPermission") String imei = telephonyManager.getDeviceId();
return imei;
}
//获取手机IMSI号
public String getIMSI(){
TelephonyManager mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
@SuppressLint("MissingPermission") String imsi = mTelephonyMgr.getSubscriberId();
return imsi ;
}
3. 代码示例
下面是获取我手机中的 IMEI 和 IMSI 的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("==手机IMEI号", getIMEI());
Log.e("==手机IMSI号", getIMSI());
}
下面是打印结果: