I found a way to solve this problem. If it is a CDMA phone, then the phone is always equipped with ICC equipment comparable to SIM cards in GSM. All you have to do is use the system properties related to the hardware. Programmatically, you can use Java reflection to obtain this information. This is not changeable, even the system is implemented as opposed to a GSM device.
Class<?> c = Class.forName("android.os.SystemProperties"); Method get = c.getMethod("get", String.class); // Gives MCC + MNC String homeOperator = ((String) get.invoke(c, "ro.cdma.home.operator.numeric")); String country = homeOperator.substring(0, 3); // the last three digits is MNC
source share