Android如何在拨号中拨打包含“#”或“p”的电话?

时间:2012-08-02 09:43:47

标签: android

我需要在我的Android应用中拨打电话,其中包含“#”或“p”。

如果我使用下一个代码:

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:629941945#22412"));
    startActivity(intent);

在没有#和22412 的情况下调用号码 629941945。

如果我使用下一个代码:

Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:629941945p22412"));
    startActivity(intent);

在没有“p”的情况下拨打电话:62994194522412。

我可以解决一个表格吗?

7 个答案:

答案 0 :(得分:8)

我已经解决了这个问题这是解决它的代码。

Intent shortcutIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+Uri.encode("*111*2#")));
startActivity(shortcutIntent);

它在我的工作正常。 我希望它对你们有帮助...

答案 1 :(得分:4)

尝试使用tel:629941945%2322412代替tel:629941945#22412

%23将替换为#

答案 2 :(得分:3)

尝试使用其他符号暂停。查看http://androidforums.com/android-applications/6733-how-do-i-dial-extension.htmlhttp://code.google.com/p/android/issues/detail?id=7514 但!我认为,这不是一个解决方案,这取决于手机型号

答案 3 :(得分:1)

检查一下,希望它有所帮助:)

  

有些手机没有“p”字符,但是“,”(逗号),它就是某个地方   “T”如果您的手机没有这些花哨的角色,   试试“*”或“#”。希望其中一个角色能够奏效。小心,开   有些手机是字母区分大小写的,所以P无法正常工作。

     

答案 4 :(得分:0)

您无法使用URI解析此类特殊号码,因为这些号码不符合tel:standard。 (http://www.ietf.org/rfc/rfc3966.txt Page 6ff) 您可能希望使用ACTION_DIAL并让用户自己输入号码。也许然后电话将此解释为暂停信号p的用途。要发送此类暂停信号,请查看Alex Klimashevsky的回答。

答案 5 :(得分:0)

尝试使用“,”(逗号)代替p。不过不知道“#”,抱歉。

答案 6 :(得分:0)

tel URI规范不支持暂停。

http://www.ietf.org/rfc/rfc3966.txt

如另一个回答%23中所述,可以用来代替#