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 に答える