为什么我的分机中的'#'未在Android中拨打?

时间:2012-05-14 15:18:55

标签: android

以下是我用来拨打电话号码的一些代码。它工作正常,除了我在扩展名中加上'#'。 ','是在拨打分机之前造成延迟。为什么不拨打“#”?基本上,#之后的任何数字都会被丢弃。

String number = "555-555-5555,,1#123"
// # is not dialed, neither are 123
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
Uri uri = Uri.parse("tel:" + number);
Log.d("URI", uri.toString());
intent.setData(Uri.parse("tel:" + number));
context.startActivity(intent);

3 个答案:

答案 0 :(得分:3)

  

排除字符“#”,因为它用于分隔URI   URI引用中的片段标识符

您需要使用Uri.encode(yourEncodeDailString)

答案 1 :(得分:2)

您需要String encodedHash = Uri.encode("#")通过ACTION_CALL发送它。

答案 2 :(得分:0)

您可以将#替换为%23。