当前位置: 代码迷 >> Android >> 求解android电话号码中的特殊字符解决办法
  详细解决方案

求解android电话号码中的特殊字符解决办法

热度:90   发布时间:2016-05-01 12:18:44.0
求解android电话号码中的特殊字符
昨儿出现了一个测试contacts出现的bug,出错地点是PhoneNumberUtils.charToBCD()。出错原因是java.lang.RuntimeException: invalid char for BCD ;
意思是这个函数中的;号没有做处理。
求问:电话号码中的几个特殊字符是什么意思?(包括, ; N +等)
网上搜了很久,都没找到,特求问大神
------解决方案--------------------
http://expression.microsoft.com/zh-cn/library/cc728034(en-us,WS.10).aspx

说的是这个意思吧?
------解决方案--------------------
在3gpp文档中规定:对SIM卡中的号码要转换成BCD码,规则如下:0-F中,0-9表示0~9,A是*,B是#,C是PAUSE(,),D是WILD,在android中被定义为N,即是6,E是RFU,个人猜测是Reserved For Future Use,F是奇偶校验位。
号码还有WAIT(;),+等。+是一些地区码的前缀,P和W是对号码的分割,具体可以用真机验证一下,我也不是很清楚其作用。
我也是做Contacts的,以后可以多多交流。
------解决方案--------------------
这个是3gpp文档中的解释:This will cause the MMI to prompt the user for a single digit (see TS 22.101 [24]).我也迷茫中
  相关解决方案