intent快速拨号特殊符号的处理

平时,如果是拨号,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);
}

完毕。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注