The following code is deprecated.
String myIMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI);
// within my emulator it returns: 310995000000000
String myIMEI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI);
// within my emulator it returns: 000000000000000
In order to get IMSI and IMEI, the following code works, assuming you write the code in a Activity class.
TelephonyManager mTelephonyMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String imsi = mTelephonyMgr.getSubscriberId();
String imei = mTelephonyMgr.getDeviceId();
Do not forget to set <uses-permission android:name="android.permission.READ_PHONE_STATE"/> in AndroidManifest.xml.
android 获取IMSI
最新推荐文章于 2024-12-17 16:09:42 发布
本文介绍如何在Android应用中正确获取设备的IMEI(国际移动设备身份码)和IMSI(国际移动用户识别码)。通过使用TelephonyManager类的方法getDeviceId()和getSubscriberId()来替代已废弃的SystemProperties.get方法,并确保在AndroidManifest.xml文件中声明READ_PHONE_STATE权限。
436

被折叠的 条评论
为什么被折叠?



