假设我有这个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(