其他分享
首页 > 其他分享> > 用特殊字符在Android上发起电话呼叫#

用特殊字符在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