Intent.ACTION_CALL 忽略 android 中的“#”
Intent.ACTION_CALL is ignoring '#' in android
我正在尝试使用以下格式从我的应用程序调用。
AcessNumber,CalleeNumber#
Trailing #
减少 dtmf 触发持续时间。但它不起作用(拨打电话有效但减少延迟无效)。如果我使用相同的 format
从本机 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());
我觉得问题就在这条线上
callIntent.setData(Uri.parse(buffer.toString());
如果你解析你的缓冲区然后它会删除 #
字符尝试像这样
callIntent.setData((Uri.parse(buffer.toString())+"#");
编码人员中真正常见的问题。
解决这个问题的方法是输入以下代码:
字符串编码哈希 = Uri.encode("#");
而不是
buffer.append("#");
采用
buffer.append(编码哈希);
来自伊朗的欢呼
加布里埃尔
我正在尝试使用以下格式从我的应用程序调用。
AcessNumber,CalleeNumber#
Trailing #
减少 dtmf 触发持续时间。但它不起作用(拨打电话有效但减少延迟无效)。如果我使用相同的 format
从本机 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());
我觉得问题就在这条线上
callIntent.setData(Uri.parse(buffer.toString());
如果你解析你的缓冲区然后它会删除 #
字符尝试像这样
callIntent.setData((Uri.parse(buffer.toString())+"#");
编码人员中真正常见的问题。 解决这个问题的方法是输入以下代码: 字符串编码哈希 = Uri.encode("#");
而不是 buffer.append("#"); 采用 buffer.append(编码哈希);
来自伊朗的欢呼
加布里埃尔