android中电话号码的特殊性

时间:2012-12-10 07:49:54

标签: android

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

错误是java.lang.RuntimeException:BCD的char值无效;也就是说;未得到处理。

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

感谢任何有关此事的想法。

2 个答案:

答案 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中的

因此请检查您的函数中是否传递;