一尘不染

拨号程序未显示完整的美元代码,例如:* 123 * 1#

flutter

我正在使用url_launcher插件进行通话,但拨号程序未显示该#字符:

String url = 'tel:*123#';
if (await canLaunch(url)) {
    await launch(url);
} else {
    throw 'Could not launch $url';
}

阅读 212

收藏
2020-08-13

共1个答案

一尘不染

您需要对URL中的特殊字符使用URL编码

所以#等号%23

这会工作 launch('tel:\*123\%23');

另一种方法是对用户键入的数字进行编码,然后将其传递给Uri.encodeFull(urlString)或Uri.encodeComponent(urlString)

像这样。

launch("tel:" + Uri.encodeComponent('*123#'));
2020-08-13