Puedo obtener el número de teléfono de una llamada entrante o de un mensaje sms. desafortunadamente, en el caso de los SMS puede haber el código de país en él. Entonces, básicamente necesito obtener el número de teléfono simple, sin código de país, para compararlo con los números existentes en Contactos.Obtener número de teléfono sin código de país en Android
Respuesta
Si desea comparar los números de teléfono que puede utilizar siempre el
PhoneNumberUtils.compare(number1, number2);
o
PhoneNumberUtils.compare(context, number1, number2);
Entonces no tiene que preocuparse por el código de país, simplemente comparará los números del orden inverso y verá si coinciden (lo suficiente para fines de identificación de llamadas al menos).
enfoque no probados rápido (los números de teléfono que yo sepa tienen 10 dígitos):
// As I said, AFAIK phone numbers have 10 digits... (at least here in Mexico this is true)
int digits = 10;
// the char + is always at first.
int plus_sign_pos = 0;
// Always send the number to this function to remove the first n digits (+1,+52, +520, etc)
private String removeCountryCode(String number) {
if (hasCountryCode(number)) {
// +52 for MEX +526441122345, 13-10 = 3, so we need to remove 3 characters
int country_digits = number.length() - digits;
number = number.substring(country_digits);
}
return number;
}
// Every country code starts with + right?
private boolean hasCountryCode(String number) {
return number.charAt(plus_sign_pos) == '+'; // Didn't String had contains() method?...
}
continuación, que acaba de llamar a estas funciones
Su solución es ideal para la longitud de un número de teléfono fijo. Desafortunadamente hay varias longitudes en todo el mundo. – Alin
Esto no funcionaría en todas partes, porque la longitud del código de país es – Caner
... y en algunos países la longitud de los números de teléfono también varía; consulte el Reino Unido para ver algunos ejemplos. –
- 1. ¿Cómo obtener el número de teléfono del teléfono en el código de Android?
- 2. ¿Cómo elimino el "+" y el código de país de un número de teléfono?
- 3. ¿Cómo obtener contactos número de teléfono en Android
- 4. Coincidir código de país del teléfono con javascript
- 5. ¿Cómo verificar si el número de teléfono ingresado por el usuario incluye el código de país?
- 6. Recuperar número de teléfono de contacto de URI en Android
- 7. Obtener número de teléfono de Contactos solamente
- 8. ¿Cómo obtener el código de país ISO en aplicaciones de Android?
- 9. IOS: código de país
- 10. de expresiones regulares (RegEx) Para números de teléfono con código de país Compruebe
- 11. Validar Sudáfrica Número de teléfono celular
- 12. Android: ¿Comprobar el número de teléfono presente en la lista de contactos? (Número de teléfono recuperar de llamada telefónica)
- 13. Obtener el código de país del nombre del país en IOS
- 14. Obtener el nombre de contacto dado un número de teléfono en Android
- 15. cómo obtener el número de smsc de un teléfono en Android?
- 16. Cómo obtener un idioma sin país de CultureInfo
- 17. ¿Cómo obtener números de teléfono móvil si mi teléfono Android tiene dos tarjetas SIM?
- 18. generar calor en un teléfono Android (de código, por supuesto)
- 19. Android: Recuperar el nombre del contacto del número de teléfono
- 20. Ejecutando varios emuladores de Android con diferentes números de teléfono
- 21. IPhone simple número de teléfono de validación
- 22. Regex - número de teléfono simple
- 23. ¿Obtener el nombre del país traducido de un código de país de 2 dígitos en Symfony2/Twig?
- 24. android cómo obtener el número de emergencia para llamar
- 25. Comparar números de teléfono en Android
- 26. ¿Dónde puedo obtener un controlador de radio de código abierto y RIL para un teléfono Android?
- 27. Número de teléfono e hipervínculo de TextView
- 28. ¿Cómo obtener el código de país y el código de moneda por dirección IP?
- 29. Validación del número de teléfono de Javascript
- 30. Código de país desde una posición de latitud y longitud (sin usar servicios de geocodificación)
Esto parece funcionar lo suficientemente bien para mí. Gracias por tu ayuda. – Alin
buena solución que funciona bien para mí – kathir