volver valores samsung restaurar restablecer reiniciar fábrica fabrica estado desde datos cómo como celular bloqueado android

android - valores - ¿Cómo formatear un número de teléfono usando PhoneNumberUtils?



restaurar valores de fabrica android samsung (5)

¿Cómo puedo formatear un número de teléfono usando PhoneNumberUtils ?

Ej .: 1234567890(123) 456-7890


En su forma más básica:

String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);

Esto formateará automáticamente el número de acuerdo con las reglas del país de origen.

También puede formatear texto editable en el lugar usando:

PhoneNumberUtils.formatNumber(Editable text, int defaultFormattingType);

Echa un vistazo a PhoneNumberUtils para más opciones.


Opté por usar la versión de google ( https://github.com/googlei18n/libphonenumber ) porque entonces el SDK mínimo puede ser menor (creo que no está en el SDK de Android hasta el 21).

El uso es algo como esto:

PhoneNumberUtil pnu = PhoneNumberUtil.getInstance(); Phonenumber.PhoneNumber pn = pnu.parse("1234567890", "US"); String pnE164 = pnu.format(pn, PhoneNumberUtil.PhoneNumberFormat.E164);

En Android Studio es necesario agregar esto a las dependencias en build.gradle:

dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) ... compile ''com.googlecode.libphonenumber:libphonenumber:7.2.2'' }



Solución independiente para el formato de número de teléfono sin formato, si no conoce su país y necesita asistencia en la pre-piruleta.

fun formatNumberCompat(rawPhone: String?, countryIso: String = ""): String { if (rawPhone == null) return "" var countryName = countryIso if (countryName.isBlank()) { countryName = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { Resources.getSystem().configuration.locales[0].country } else { Resources.getSystem().configuration.locale.country } } return if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { PhoneNumberUtils.formatNumber(rawPhone) } else { PhoneNumberUtils.formatNumber(rawPhone, countryName) } }


formatNumber quedó en desuso en LOLLIPOP, después de eso necesita agregar la configuración regional como un argumento adicional.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { return PhoneNumberUtils.formatNumber(yourStringPhone,Locale.getDefault().getCountry()); } else { //Deprecated method return PhoneNumberUtils.formatNumber(yourStringPhone); }