用特殊字符在Android上发起电话呼叫#
作者:互联网
我使用以下代码从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);
标签:android,phone-call 来源: https://codeday.me/bug/20190916/1807833.html