如何使用带有flutter的URL_launcher包发送短信?

时间:2019-01-22 05:46:35

标签: flutter sms

您好,我搜索了一个简单的示例(Android和iOS),以与此包一起发送短信

https://pub.dartlang.org/packages/url_launcher

在插件页面中,我仅看到如何使用电话号码打开短信本机应用程序,但没有多余的消息

<system>
    <log>
        format json
        enable_color false
    </log>


    suppress_config_dump true
</system>

2 个答案:

答案 0 :(得分:4)

在Android上,完整的sms: URI受支持,您可以使用这样的正文(RFC5724)发送消息:

 _textMe() async {
    // Android
    const uri = 'sms:+39 348 060 888?body=hello%20there';
    if (await canLaunch(uri)) {
      await launch(uri);
    } else {
      // iOS
      const uri = 'sms:0039-222-060-888';
      if (await canLaunch(uri)) {
        await launch(uri);
      } else {
        throw 'Could not launch $uri';
      }
    }
  }

enter image description here

iOS上,您只能使用URI的数字字段。

  

短信计划用于启动“消息”应用。网址格式   这种类型是“ sms:”,其中是可选参数   指定SMS消息的目标电话号码。这个   参数可以包含数字0到9和加号(+),连字符   (-)和句点(。)字符。 URL字符串不得包含任何   消息文字或其他信息

PS。检查平台,您可以使用dart.io library Platform class

if (Platform.isAndroid) {

} else if (Platform.isIOS) {

}

答案 1 :(得分:1)

您可以在android和iOS上尝试使用此方法:

sendMessage() async {
    if(Platform.isAndroid){
        //FOR Android
        url ='sms:+6000000000?body=message';
        await launch(url);
    } 
    else if(Platform.isIOS){
        //FOR IOS
        url ='sms:+6000000000&body=message';
    }
}