我使用以下代码从 android 应用程序中发起呼叫:
intent.setData(Uri.parse("tel:+12345 #123"));
startActivity(intent);
当它开始调用时,它会忽略以 # 开头的所有内容。
我读了一些关于修改 SpecialCharSequenceMgr.java 文件的内容,但我在任何地方都找不到这个,老实说,我不知道到底要做什么。解决这个问题的最佳方法是什么?
我使用以下代码从 android 应用程序中发起呼叫:
intent.setData(Uri.parse("tel:+12345 #123"));
startActivity(intent);
当它开始调用时,它会忽略以 # 开头的所有内容。
我读了一些关于修改 SpecialCharSequenceMgr.java 文件的内容,但我在任何地方都找不到这个,老实说,我不知道到底要做什么。解决这个问题的最佳方法是什么?
我认为问题在于 # 符号在 URI 中具有特殊含义,因此您必须使用以下Uri.encode()
方法对其进行编码:
Intent out = new Intent();
out.setAction(Intent.ACTION_DIAL);
out.setData(Uri.parse("tel:" + Uri.encode("+12345#123")));
startActivity(out);
我相信乔恩在你的问题上并不完全正确,这个想法还不错,虽然......你需要使用特殊字符映射来启动磅键:
Intent intcall = new Intent(Intent.ACTION_CALL);
intcall.setData(Uri.parse("tel:5555" + "%23"+"additional number"));
startActivity(intcall);
我发现了这个,它对我来说很好用 > unity 2020.3
'Application.OpenURL("tel://Number");'
就这样做吧。它对我有用。
Uri.parse(Uri.encode("your string value"));
意图输出 = new Intent();
out.setAction(Intent.ACTION_DIAL);
out.setData(Uri.parse("tel:" + Uri.encode("+12345#123")));
开始活动(出);