从本地通讯簿中确定电话号码国家/地区代码



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

有没有一种简单的方法可以找出本地号码所包含的国家代码,这样我就可以手动添加它?

这正是您所需要的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());
}

最新更新