1

假设我有这个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);
}

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

4

1 回答 1

0

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

所以对于 API 级别 21 或以上使用:

formatNumber(String phoneNumber, String defaultCountryIso)

于 2019-07-25T12:03:35.290 回答