Obtener país basado en la red GSM / UMTS
Necesito detectar el MCC del país en el que está actualmente el módem inalámbrico GSM / UMTS.
-
Basado en redes GSM
Necesita usar
getSimCountryIso()
ygetNetworkCountryIso()
desde el TelephonyManagerDevuelve el código de país ISO equivalente para el código de país del proveedor de SIM.
-
Basado en WIFI, utiliza una base de datos Ip to Country
-
También tiene la opción de usar la clase Geocoder basada en la ubicación
Primero obtenga el MCC / MNC:
TelephonyManager tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String networkOperator = tel.getNetworkOperator(); if (networkOperator != null) { int mcc = Integer.parseInt(networkOperator.substring(0, 3)); int mnc = Integer.parseInt(networkOperator.substring(3)); }
Luego, basándose en eso, puede obtener el número correspondiente al MCC seleccionado. Hay un montón de listas en Internet, por ejemplo este en Wikipedia