verificar telefono studio sirve señal secretos samsung que para obtener numero codigos celulares celular android libphonenumber

sirve - obtener numero de telefono android studio



Extrae el código del país del número de teléfono (4)

Tengo una cadena como esta: +33123456789 (número de teléfono francés). Quiero extraer el código del país (+33) sin conocer el país. Por ejemplo, debería funcionar si tengo otro teléfono de otro país. Utilizo la biblioteca de google https://code.google.com/p/libphonenumber/ .

Si conozco el país, es genial poder encontrar el código del país:

PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); int countryCode = phoneUtil.getCountryCodeForRegion(locale.getCountry());

pero no encuentro una manera de analizar una cadena sin conocer el país.


Aquí hay una respuesta sobre cómo encontrar el código de llamadas de país sin usar bibliotecas de terceros (como lo hace un desarrollador real):

Obtenga una lista de todos los códigos de país disponibles, Wikipedia puede ayudar aquí: https://en.wikipedia.org/wiki/List_of_country_calling_codes

Analice los datos en una estructura de árbol donde cada dígito es una rama.

Recorra su árbol dígito a dígito hasta que esté en la última sucursal, ese es el código de su país.


Aquí puede guardar el número de teléfono como número de teléfono con formato internacional

internationalFormatPhoneNumber = phoneUtil.format(givenPhoneNumber, PhoneNumberFormat.INTERNATIONAL);

devuelve el número de teléfono como formato internacional +94 71 560 4888

Así que ahora tengo el código de país como este

String countryCode = internationalFormatPhoneNumber.substring(0,internationalFormatPhoneNumber.indexOf('''')).replace(''+'', '' '').trim();

Espero que esto te ayudará


Bien, me uní al grupo de Google libphonenumber ( https://groups.google.com/forum/?hl=en&fromgroups#!forum/libphonenumber-discuss ) y formulé una pregunta.

No necesito configurar el país en el parámetro si mi número de teléfono comienza con "+". Aquí hay un ejemplo :

PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance(); try { // phone must begin with ''+'' PhoneNumber numberProto = phoneUtil.parse(phone, ""); int countryCode = numberProto.getCountryCode(); } catch (NumberParseException e) { System.err.println("NumberParseException was thrown: " + e.toString()); }


Si la cadena que contiene el número de teléfono siempre comenzará de esta manera (+33 u otro código de país), debe usar expresiones regulares para analizar y obtener el código de país y luego usar la biblioteca para obtener el país asociado al número.