[英]Intent.ACTION_CALL is ignoring '#' in android
我正在尝试使用以下格式从我的应用程序中调用。
AcessNumber,CalleeNumber#
尾随#
减少dtmf触发持续时间。 但这不起作用(拨打电话有效,但减少延迟无效)。 如果我使用相同format
本地phone app
拨打phone app
,则每次都可以使用。 我三遍检查了我的代码,肯定添加了#
。
final Intent callIntent = new Intent(Intent.ACTION_CALL);
StringBuilder buffer = new StringBuilder();
buffer.append("tel:");
buffer.append(accessNumber);
buffer.append(",");
buffer.append(number);
buffer.append("#");
callIntent.setData(Uri.parse(buffer.toString());
startActivity(callIntent);
Log.e("caller number", callIntent.getData().toString());
编码人员中真正常见的问题。 解决该问题的方法是键入以下代码:String encodehash = Uri.encode(“#”);
而不是buffer.append(“#”); 使用buffer.append(encodedHash);
来自伊朗的欢呼
加布里埃尔
在我看来问题出在这条线上
callIntent.setData(Uri.parse(buffer.toString());
如果您解析缓冲区,则它将删除#
字符,尝试像这样
callIntent.setData((Uri.parse(buffer.toString())+"#");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.