拨打电话,拨打包含"#"

时间:2016-07-08 16:18:58

标签: java android

我试图拨打一个包含"#"的号码。和" *"。我的问题是 "#"我没有写下我试图打电话的号码。

示例:致电" * 142#" ,它只显示一个电话" * 142"。

我正在使用:

Intent i = new Intent()
        .setAction(Intent.ACTION_CALL)
        .setData(Uri.parse("tel:*142#"));
startActivity(i);

2 个答案:

答案 0 :(得分:1)

您遇到的问题是因为#是URI的特殊字符。为了解决这个问题,你需要使用URI.encode对其进行编码。看看并尝试以下方法:

Intent i = new Intent()
           .setAction(Intent.ACTION_CALL)
           .setData(URI.parse("tel:" + URI.encode("*142#"));
startActivity(i);

答案 1 :(得分:0)

试试这个

Uri.parse(String.format("tel:%s", Uri.encode(number)))