实战问题一:Android程序拨打带#号电话失败的处理方法

235 阅读1分钟

在开发Android拨号软件时,程序播出的号码中带有#号的,一直都不能成功。

原因

通过日志发现拨出去的井号变成乱码,正常应该显示#号。

得知安卓系统下由于#号是属于内定字符,需要转义为%23。

解决方法

String uri = "tel://" + tenNum;
uri = uri.replaceAll("#", "%23");//把#号替换成ASCII码
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));