平时,如果是拨号,tel:136XXX..这样的形式,是没有问题的。
但是*#*#0000#*#*这样的,你会发现只会输入一个*
所以需要做一下编码处理。
Uri.encode("你的特殊符号");
例子:
String ecc = Uri.encode("#");
Intent intentCall=new Intent();
//为对象设置一个拨号动作
intentCall.setAction(Intent.ACTION_DIAL); //Intent.ACTION_CALL
//添加就是执行动作要操作的数据
intentCall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentCall.setData(Uri.parse("tel:"+"*#*#364000#*#*".replaceAll("#",ecc)));
//启动
if (intentCall.resolveActivity(MyService.this.getPackageManager()) != null) {
startActivity(intentCall);
}
完毕。