Flutter Url Launcher不会将整个文本传递给短信

时间:2019-08-11 09:08:24

标签: flutter dart

我正在尝试使用url打包程序启动器发送短信。当我按下按钮时:短信正文中仅出现此信息(在android上):https://www.google.com/maps/dir/?api=1

但是“文字”要长一些。有解决方案吗?谢谢!

RaisedButton(
              onPressed: () {
                launch(
                    'sms:000000000?body=https://www.google.com/maps/dir/?api=1&destination=47.751076,-120.740135');
              },

我测试了没有'&'符号的链接。比一切都过去了。可以使用&符号吗?

1 个答案:

答案 0 :(得分:1)

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

所以&等于%26

这将起作用

launch('sms:000000000?body=https://www.google.com/maps/dir/?api=1%26destination=47.751076,-120.740135');

其他方法是编码并通过Uri.encodeFull(urlString)Uri.encodeComponent(urlString)

喜欢这个。

launch("sms:" + Uri.encodeComponent('000000000?body=https://www.google.com/maps/dir/?api=1&destination=47.751076,-120.740135'));