当前位置: 首页 > 工具软件 > node-launcher > 使用案例 >

Flutter-url_launcher

江建明
2023-12-01

1.首先需要在我们项目的“pubspec.yaml”配置文件的dependencies中加入url_launcher插件的依赖“url_launcher: ^3.0.2”

2.打开别的APP
想要打开其他app,需要知道被打开app的scheme, 如果是自己的app,Android可以在Manifest中看到:

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />

            <category android:name="android.intent.category.BROWSABLE" />

            <data

                android:host="li.zhuoyuan"

                android:scheme="flutter" />

上面标签中的就是我们需要知道的url中的东西, 定义了scheme为flutter, host为li.zhuoyuan. 记住这两个字段,在我们想打开这个app的地方需要。可以只定义scheme ,host为可选项。

那么,我们需要的url组成部分就是:scheme://host 如果有host的话。

注意:这里scheme为必填,host、path为选填。选填内容可以不填,但是一旦填上了就必须全部完全匹配才会成功拉起。


void _openOtherApp() async {

    const url = 'flutter://li.zhuoyuan'; //这个url就是由scheme和host组成的 :scheme://host

    if (await canLaunch(url)) {

      await launch(url);

    } else {

      throw 'Could not launch $url';

    }

  }

2.打开网址
_launchURL()async {

const url ='https://github.com/HitenDev/FlutterDragCard';

if (await canLaunch(url)) {

await launch(url);

}else {

throw 'Could not launch $url';

}

}

3.打电话
_launchTel()async {

const url ='tel:+1 555 010 999';

if (await canLaunch(url)) {

await launch(url);

}else {

throw 'Could not launch $url';

}

}

4.发短信
_launchSMS()async {

const url ='sms:+1 555 010 999';

if (await canLaunch(url)) {

await launch(url);

}else {

throw 'Could not launch $url';

}

}

5.发邮件
_launchMailto()async {

const url ='mailto:smith@example.org?subject=News&body=New%20plugin';

if (await canLaunch(url)) {

await launch(url);

}else {

throw 'Could not launch $url';
}
}

作者:秋分落叶
链接:https://www.jianshu.com/p/483546ae2829

 类似资料: