从本地地址簿确定电话号码国家/地区代码

时间:2013-08-26 19:12:02

标签: android addressbook phone-number

我允许用户从地址簿中选择一个电话号码。我需要数字始终采用国际格式,但有时人们会在其联系人中存储没有国家/地区代码的本地号码(例如555-555-5555而不是+ 1-555-555-5555)。

有没有一种简单的方法可以找出本地号码所暗示的国家代码,以便我可以手动添加它?

1 个答案:

答案 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());
}