¿Cómo obtener el código ISO de país en las aplicaciones de Android?

Soy un nuevo desarrollador en la aplicación Android. Me gustaría obtener el código de país ISO cuando pase el número de teléfono móvil con código de país. Si paso el número de teléfono móvil como 1-319-491-6338, ¿puedo obtener el código ISO del país como US / USA en android?

He escrito el código de la siguiente manera:

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String countryCode = tm.getSimCountryIso(); String mobileno="1-319-491-6338"; 

Aquí, ¿dónde puedo pasar el número de móvil?

¿Alguien puede ayudarme por favor?

Gracias por adelantado

Es posible que no pueda consultar el código de país mediante programación a través de la API estándar, pero podría incluir una tabla en su aplicación. Esta tabla se encuentra fácilmente a través de Google (por ejemplo, http://countrycode.org/ ).

¡Peligro Robinson! : Sin embargo, uno debe preguntarse qué pregunta usted está intentando contestar. Implícito en su pregunta es que la suposición de que hay una correspondencia uno a uno entre los códigos internacionales de marcación y los códigos de país ISO. Esto no es verdad. Por ejemplo, tanto EE.UU. como Canadá tienen el código de marcación internacional '1'.

Tal vez pienses en reestructurar la interfaz de tu aplicación. Permitir al usuario seleccionar un país para asociarse con el número de teléfono, pero utilizar la tabla de http://countrycode.org/ para ordenar a los candidatos más probables en la parte superior?

Paso-1 Puede obtener el country calling code así como su ISO name en la siguiente URL http://en.wikipedia.org/wiki/List_of_country_calling_codes

o

http://www.unc.edu/~rowlett/units/codes/country.htm

Paso-2 Puede obtener la fuente de la página de ese archivo utilizando el programa java. Obtendrá el archivo en formato HTMl

Paso-3 puede convertir esos archivos HTML en formato XML utilizando cualquiera de los analizadores disponibles. Consulte Analizadores HTML de código abierto en Java

Paso 4 Forma el número de teléfono que puede obtener el código de llamada. Ejemplo si el número es "1-319-491-6338" entonces el código de llamada es 1

Paso-5 Haga coincidir este código de llamada con el código de llamada y la lista de nombres de países que obtuvo del analizador de XML. De esta manera usted puede conseguir iso país

Tenía el mismo problema. Finalmente puse todos los datos en Excel y leer la hoja de Excel. Aquí está la implementación:

  1. Copie la tabla de códigos de país de http://countrycode.org/ en el archivo de Microsoft Excel.
  2. Guarde el archivo de Excel como compatible con 97-2003 (.xls) en \ res \ raw \ countrycode_org.xls
  3. Descargar JExcelApi desde aquí
  4. Utilice la clase siguiente para leer el archivo:

    Public class CountryCodes {private HashMap mCountryByName = nuevo HashMap (); Private HashMap mCountryByCode = nuevo HashMap () ;; Private ArrayList mCountries = new ArrayList ();

     public void addCountry(String countryName,String ISO_code,String countryCode){ countryCode = PhoneNumberUtil.normalizeDigitsOnly(countryCode); Country country = new Country(); country.Name = countryName; country.Code = countryCode; country.ISO_code = ISO_code; mCountryByName.put(countryName, country); mCountryByCode.put(countryCode, country); mCountries.add(country); return; } public Country getCountryByCode(String countryCode){ countryCode = PhoneNumberUtil.normalizeDigitsOnly(countryCode); return mCountryByCode.get(countryCode); } public Country getCountryByName(String countryName){ return mCountryByName.get(countryName); } public Country getCountryByIsoCode(String ISO_code){ ISO_code = ISO_code.toUpperCase(); for (Country country:mCountries){ String [] strArr = country.ISO_code.split("/| "); for (String s:strArr){ if (ISO_code.equals(s)) return country; } } return null; } public String[] getCountryNamesList(){ String[] res = new String [mCountries.size()]; int i=0; for (Country c:mCountries){ res[i] = c.Name; i++; } return res; } public void readCountryCodesFromExcelWorkbook() { Context context = GlobalData.getInstance().getApp(); Workbook mWorkbook; InputStream myRawResource = context.getResources().openRawResource(R.raw.countrycode_org); if (myRawResource == null) Toast.makeText(context,"XML file not found",Toast.LENGTH_LONG).show(); else try { WorkbookSettings ws = new WorkbookSettings(); ws.setEncoding("Cp1252"); mWorkbook = Workbook.getWorkbook(myRawResource); //ArrayList<String[]> currentSheet = new ArrayList<String[]>(); Sheet sheet = mWorkbook.getSheet(0); int rowsNum = sheet.getRows(); for (int rowNum = 1; rowNum < rowsNum; rowNum++) { //Log.d("RowNum", ""+rowNum); int colsNum = sheet.getColumns(); String[] strArr = new String[colsNum]; boolean rowIsFull = true; for (int colNum = 0; colNum < colsNum; colNum++) { strArr[colNum] = sheet.getCell(colNum, rowNum).getContents(); if (strArr[colNum].length() == 0) rowIsFull = false; } if (rowIsFull) addCountry(strArr[0],strArr[1],strArr[2]); } } catch (BiffException e) { Toast.makeText(context,"Error Reading xml file: BiffException",Toast.LENGTH_LONG).show(); e.printStackTrace(); return ; } catch (IOException e) { Toast.makeText(context,"Error Reading xml file: IOException",Toast.LENGTH_LONG).show(); e.printStackTrace(); return ; } } public Country[] getCountries(){ return mCountries.toArray(new Country[0]); } public class Country { public String Name; public String Code; public String ISO_code; } 

    }

  • Cómo compilar el proyecto C ++ a través de Android NDK
  • jQuery Mobile rompe Phonegap evento deviceready
  • Android - Creación de listview con encabezados flotantes
  • Restringir las llamadas a API. Permitir sólo mi aplicación para móviles
  • Cambiar el tamaño de la página móvil de Jquery durante la transición de página
  • ¿Cómo puedo crear páginas HTML que ajusten automáticamente sus imágenes a diferentes tamaños de pantalla para móviles?
  • ¿Cómo aumentar el tamaño de la casilla de verificación en las páginas web basadas en el navegador móvil o en la tableta?
  • ¿Reproduce vídeos de vimeo usando el reproductor nativo de android?
  • Cómo puedo determinar la velocidad de Internet en mi aplicación Android
  • Cómo inhabilitar gestos de desplazamiento en el navegador de cromo móvil
  • Excepción al modificar el nivel de acceso de escritura de cubo con Kii Cloud SDK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.