您的位置:首页 > 移动开发 > Android开发

android 自动拨打含“#”如:*1234#的电话

2016-01-11 19:25 435 查看
1、需要给#加码:不至于调用的时候出现#被和谐掉了

/**
* 话费卡充值
*/
private void callThePhone(String targetPhone) {
if (StringUtil.isNotBlank(targetPhone)) {
String target =targetPhone;//"tel:"+ "*1234#";
try {
Intent intent = new Intent(Intent.ACTION_CALL);
Uri data = ussdToCallableUri("tel:" + targetPhone);
intent.setData(data);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}catch (SecurityException e) {
e.printStackTrace();
ToastUtils.showToast(this, R.string.pay_type_call_code_notice);
}

}
}
//对#进行加码
private Uri ussdToCallableUri(String ussd) {
String uriString = "";

if(!ussd.startsWith("tel:"))
uriString += "tel:";

for(char c : ussd.toCharArray()) {

if(c == '#')
uriString += Uri.encode("#");
else
uriString += c;
}

return Uri.parse(uriString);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息