将*9等短号作为普通电话拨出
时间:10-02
整理:3721RD
点击:
[android Version]
Android V2.3 (GB,GB2)
Android V4.0, 4.1, 4.2(ICS,ICS2,JB,JB2,JB3.JB5)
[DESCRIPTION]
如何将*9等短号作为普通电话拨出
[SOLUTION]
适用版本GB,GB2,ICS,ICS2,JB
其中GB2之前版本与ICS之后版本,newFROMDialString函数稍有不同,需参看此函数中的具体代
码;
参看GSMMMICode.java下面的:
newFromDialString
这个函数中会对号码是否是SS:
1.通过函数isTwoDigitsShortCode,判断号码是否是两位短号,
这里会从资源com.android.internal.R.array.config_twoDigitNumberPattern中获取两
位短号的数组;如果当前号码匹配的话,则会返回true(此时newFromDialString返回null
);否则返回false;
2.通过函数isShortCode;
如果number是紧急号码,则return false;
调用函数isShortCodeUSSD来判断号码是否为short ussd;如果当前有call,且号码长度小于
等于2,则return true;
如果长度小于等于2,且号码的最后一位为#,则return true;
3.对于普通call,newFromDialString返回的结果是null
这里是根据spec来做到判断,如果有特殊需求,可以到这里修改
Android V2.3 (GB,GB2)
Android V4.0, 4.1, 4.2(ICS,ICS2,JB,JB2,JB3.JB5)
[DESCRIPTION]
如何将*9等短号作为普通电话拨出
[SOLUTION]
适用版本GB,GB2,ICS,ICS2,JB
其中GB2之前版本与ICS之后版本,newFROMDialString函数稍有不同,需参看此函数中的具体代
码;
参看GSMMMICode.java下面的:
newFromDialString
这个函数中会对号码是否是SS:
1.通过函数isTwoDigitsShortCode,判断号码是否是两位短号,
这里会从资源com.android.internal.R.array.config_twoDigitNumberPattern中获取两
位短号的数组;如果当前号码匹配的话,则会返回true(此时newFromDialString返回null
);否则返回false;
2.通过函数isShortCode;
如果number是紧急号码,则return false;
调用函数isShortCodeUSSD来判断号码是否为short ussd;如果当前有call,且号码长度小于
等于2,则return true;
如果长度小于等于2,且号码的最后一位为#,则return true;
3.对于普通call,newFromDialString返回的结果是null
这里是根据spec来做到判断,如果有特殊需求,可以到这里修改