Android 格式化国际电话号码字符串,并包含其国家/地区代码



假设我有这个String

String phoneNumber = "+15611234567"

使用PhoneNumberUtils.formatNumber(phoneNumber);在这里工作并将其格式化为+1-561-123-4567

但是,当我有一个包含其国家/地区代码的非美国电话号码时,例如

String phoneNumber = "+96170123456" //Lebanese phone number

不起作用,它只是按原样返回它,而不是格式化它。

回报: +96170123456

预期:+961 81-932-452或任何类型的不同格式(例如+961 70 123 456(

如果你需要它,下面是不起作用的代码:

public void setPhone(final String phone){
    TextView phoneTV = view.findViewById(R.id.phone);
    String formattedNumber = PhoneNumberUtils.formatNumber(phone);
    phoneTV.setText(formattedNumber);
}

电话号码的国家/地区代码不一致,它可能来自任何国家/地区。

formatNumber (String phoneNo( 此方法在 API 级别 21 中已弃用。

因此,对于 API 级别 21 或更高版本,请使用:

格式数字(字符串电话号码,字符串默认国家ISO(

相关内容

  • 没有找到相关文章

最新更新