我允许用户从地址簿中选择一个电话号码。我需要数字始终采用国际格式,但有时人们会在其联系人中存储没有国家/地区代码的本地号码(例如555-555-5555而不是+ 1-555-555-5555)。
有没有一种简单的方法可以找出本地号码所暗示的国家代码,以便我可以手动添加它?
答案 0 :(得分:2)
这就是你需要的 https://code.google.com/p/libphonenumber/
String numberString = "044 668 18 00"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
PhoneNumber numberProto = phoneUtil.parse(numberString, "BH"); // Where BH is the user's iso country code
String finalNumber = phoneUtil.format(numberProto, PhoneNumberFormat.E164);
} catch (NumberParseException e) {
System.err.println("NumberParseException was thrown: " + e.toString());
}