当我测试联系人时,它有一个错误。错误地址为 PhoneNumberUtils.charToBCD()
错误是 java.lang.RuntimeException: invalid char for BCD; 也就是说;
没有处理。
电话号码的特殊字符是什么意思?
感谢有关此的任何想法。
当我测试联系人时,它有一个错误。错误地址为 PhoneNumberUtils.charToBCD()
错误是 java.lang.RuntimeException: invalid char for BCD; 也就是说;
没有处理。
电话号码的特殊字符是什么意思?
感谢有关此的任何想法。
@SreekeshOkky 在他的回答中提到了“vcard”,所以它可能正在尝试从 vCard 中解析电话号码。
在 vCard 中,电话号码通常编码为自由格式文本,这意味着它们可以包含任何字符。
它们也可以编码为 URI。如果电话号码有分机号,则电话号码 URI 将包含分号。例如:
tel:+1-555-555-5555;ext=5555
抛出异常是由于
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
所以检查 a;
是否在您的函数中传递