ICC,也就是 Integrated Circuit Card,即集成电路卡。而在使用Android 11时,会出现与ICC相关的一些问题,例如无法获取SIM卡信息等。
如果需要在Android 11中通过代码来操作ICC相关功能,则需要添加权限,如下:
并且在代码中,需要使用反射来获取相关类和方法,如下:
Class> telephonyManager = Class.forName("android.telephony.TelephonyManager");
Method getDefault = telephonyManager.getMethod("getDefault");
Object tm = getDefault.invoke(null);
Method getSubscriberId = telephonyManager.getMethod("getSubscriberId");
String imsi = (String) getSubscriberId.invoke(tm);
这样,就可以在Android 11中顺利地使用ICC了。