0

当我测试联系人时,它有一个错误。错误地址为 PhoneNumberUtils.charToBCD()

错误是 java.lang.RuntimeException: invalid char for BCD; 也就是说;没有处理。

电话号码的特殊字符是什么意思?

感谢有关此的任何想法。

4

2 回答 2

2

@SreekeshOkky 在他的回答中提到了“vcard”,所以它可能正在尝试从 vCard 中解析电话号码。

在 vCard 中,电话号码通常编码为自由格式文本,这意味着它们可以包含任何字符。

它们也可以编码为 URI。如果电话号码有分机号,则电话号码 URI 将包含分号。例如:

tel:+1-555-555-5555;ext=5555
于 2012-12-10T17:46:20.260 回答
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所以检查 a;是否在您的函数中传递

于 2012-12-10T08:04:48.773 回答