deviceid
/**
* Returns the unique device ID, for example, the IMEI for GSM and the MEID
* or ESN for CDMA phones. Return null if device ID is not available.
*
* <p>requires permission:
* {@link Android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
*/
public String getdeviceid() {
try {
ITelephony telephony = getITelephony();
if (telephony == null)
return null;
return telephony.getDeviceId(mcontext.getOpPackageName());
} catch (RemoteException ex) {
return null;
} catch (NullPointerException ex) {
return null;
}
}
正常情况下 getDeviceId()这个接口的返回值和当时卡槽注册的phone有关 如果注册的是CDMA 返回的是Meid如果注册是的GMS网络 返回的是imei
如果一直没插卡 没注册phone默认获取imei
调用getDeviceId() 返回值:
不插卡怎么读
不插卡的话 会保持上一次插卡是的phone状态 即上一次插得是CDMA的 获取的是MEID 插得是GMS的 获取的是IMEI
如果之前一直没有插过卡 默认获取IMEI
插一个怎么读
插得是CDMA卡获取MEID 插得是GMS卡获取的是IMEI 不插卡的卡槽同问题
插两个怎么读
哪个卡槽插得是CDMA卡获取的是MEID 哪个卡槽插得是GMS卡获取的是IMEI
插了再拔出来怎么读
插出来后保持上一次的状态 同问题1
移动联通怎么读,电信怎么读
建议统一调用getimei(int)这个接口 这个接口不管手机注册的什么网络 均返回imei 不会根据插的卡而改变返回值