android 代码获取IMEI,IMSI都为空,怎么解决

android 代码获取IMEI,IMSI都为空,怎么解决,第1张

Android获取IMSI和IMEI :

IMSI是一个唯一的数字,标识了GSM和UMTS 网络里的唯一一个用户

它存储 在手机的SIM卡里,它会通过手机发送到网络上。

IMEI也是一串唯一的数字,标识了GSM 和UMTS网络里的三星 Galaxy I9100。

它通常被打印在手机里电池下面的那一面,拨  #06# 也能看到它。

代码:

这里是你在Android里读出 唯一的 IMSI-ID / IMEI-ID 的方法。

Java:

String myIMSI =

androidosSystemPropertiesget(androidtelephonyTelephonyPropertiesPROPERTY_IMSI

);

// within my emulator it returns:   310995000000000

String myIMEI =

androidosSystemPropertiesget(androidtelephonyTelephonyPropertiesPROPERTY_IMEI

);

// within my emulator it returns:   000000000000000

手机号码不是所有的都能获取。只是有一部分可以拿到。这个是由于移动运营商没有把手

机号码的数据写入到sim卡中。sim卡只有唯一的编号,供网络与设备识别那就是imsi号码,手机的信号也可以说是通过这个号码在网络中传递的,并不是手机号码。

试想,你的sim丢失后,补办一张新的会换号码吗 —不会就是因为在你的手机号码对应的 imsi号在移动运营商中被修改成新sim卡的imsi号码。

这个就像是一个变量,当移动运营商为它赋值了,它自然就会有值。不赋值自然为空

/   获得手机的一些标志符      @param c   @return String 手机的类型 /

public String fetch_status(Context c) {

TelephonyManager tm = (TelephonyManager) c

getSystemService(ContextTELEPHONY_SERVICE);//

String str = "";

String IMSI = tmgetSubscriberId();

str += "DeviceId(IMEI) = " + tmgetDeviceId() + "/n";

str += "DeviceSoftwareVersion = " + tmgetDeviceSoftwareVersion()

+ "/n";

str += "Line1Number = " + tmgetLine1Number() + "/n";

return str;

}

UICC初始化失败。是其中之一。第二权限问题。UICC初始化属于底层的一些东西,一本书不一定说的明白,大致就是这样一个过程,你调用一些封装好的API调用通信框架的函数,调用RIL *** 作调制解调器。如果这中间任何一个环节不通畅,都会导致获取不到结果。一个手机开机,都必须初始化调制解调器和UICC。所以我说初始化失败也是原因之一。

以上就是关于android 代码获取IMEI,IMSI都为空,怎么解决全部的内容,包括:android 代码获取IMEI,IMSI都为空,怎么解决、android手机导致获取不到mac地址,imei,imsi的因素有哪些、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9407046.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存