如何使用PhoneNumberUtils格式化电话号码
例如:1234567890 (123) 456-7890→
发布于 2011-05-24 15:28:14
最基本的情况是:
String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);这将根据号码来自的国家/地区的规则自动格式化号码。
您还可以使用以下命令设置可编辑文字的在位格式:
PhoneNumberUtils.formatNumber(Editable text, int defaultFormattingType);有关更多选项,请查看PhoneNumberUtils。
发布于 2016-01-04 13:53:00
我选择使用谷歌的版本(https://github.com/googlei18n/libphonenumber),因为这样min可以更低(我认为它在Android SDK中要到21岁才会出现)。
Use是这样的:
PhoneNumberUtil pnu = PhoneNumberUtil.getInstance();
Phonenumber.PhoneNumber pn = pnu.parse("1234567890", "US");
String pnE164 = pnu.format(pn, PhoneNumberUtil.PhoneNumberFormat.E164);在Android Studio中,用户需要将以下代码添加到build.gradle中的依赖项中:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
...
compile 'com.googlecode.libphonenumber:libphonenumber:7.2.2'
}发布于 2016-11-15 09:08:25
formatNumber在棒棒糖上被弃用了,之后你需要添加语言环境作为额外的参数。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return PhoneNumberUtils.formatNumber(yourStringPhone,Locale.getDefault().getCountry());
} else {
//Deprecated method
return PhoneNumberUtils.formatNumber(yourStringPhone);
}https://stackoverflow.com/questions/6106859
复制相似问题