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.

  1. Basado en redes GSM

    Necesita usar getSimCountryIso() y getNetworkCountryIso() desde el TelephonyManager

    Devuelve el código de país ISO equivalente para el código de país del proveedor de SIM.

  2. Basado en WIFI, utiliza una base de datos Ip to Country

  3. 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

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.