我测试联系人时有一个错误。错误地址是PhoneNumberUtils.charToBCD()
错误是java.lang.RuntimeException:BCD的char值无效;也就是说;
未得到处理。
电话号码的特殊字符是什么意思?
感谢任何有关此事的想法。
答案 0 :(得分:2)
@SreekeshOkky在回答中提到了“vcard”,所以也许是在尝试解析vCard中的电话号码。
在电子名片中,电话号码通常被编码为自由格式文本,这意味着它们可以包含任何字符。
它们也可以编码为URI。如果电话号码具有分机号码,则电话号码URI将包含分号。例如:
tel:+1-555-555-5555;ext=5555
答案 1 :(得分:1)
由于
而引发异常 private static int
charToBCD(char c) {
if (c >= '0' && c <= '9') {
return c - '0';
} else if (c == '*') {
return 0xa;
} else if (c == '#') {
return 0xb;
} else if (c == PAUSE) {
return 0xc;
} else if (c == WILD) {
return 0xd;
} else {
throw new RuntimeException ("invalid char for BCD " + c);
}
}
PhoneNumberUtils.java - android-vcard
中的因此请检查您的函数中是否传递;