我想将设备中的每个电话号码从联系人转换为 E164 格式。所以,我在下面使用了开源。
所以我像这里一样使用它。
Phonenumber.PhoneNumber formattedNumber = null;
String formatted = null;
try {
formattedNumber = phoneUtil.parse(phoneNumber, "KR");
formatted = phoneUtil.format(formattedNumber,PhoneNumberUtil.PhoneNumberFormat.E164);
if (StringUtils.isEmpty(formatted) == false && formatted.length() > 0 && StringUtils.isEmpty(name) == false && name.length() > 0) {
listName.add(name);
listPhoneNumber.add(formatted);
}
} catch (NumberParseException e) {
continue;
}
我读到这个库自 4.0 以来就被 Android 框架使用。
Java 版本针对在智能手机上运行进行了优化,自 4.0(Ice Cream Sandwich)起就被 Android 框架使用。
我想从 Android SDK 中使用它。所以我找到了这个。Android SDK 提供了这个PhoneNumberUtils 。
还有一个功能
formatNumberToE164(String phoneNumber, String defaultCountryIso)
它真的很容易使用。但是这个函数的 API 级别是 21。
所以我的问题是..如何在 API 级别 14(ICS) ~ 21 下使用 PhoneNumberUtils 将电话号码转换为 E164?
谢谢。!