Flutter SDK--url_launcher使用详情(Flutter中打电话,发短信,打开链接)

1.url_launcher使用场景

在原生开发中,我们通常会用户调用底层的拨打电话、发送邮件、发送信息以及打开网址和打开第三方应用等等,在Flutter也同样支持。下面简单的介绍一下url_launcher这款插件的使用(支持IOS和Android)

2.代码实例:

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
    runApp(Scaffold(
        body: Center(
            child: RaisedButton(
            onPressed: _launchURL,
            child: Text('Show Flutter homepage'),
      ),
    ),
  ));
}

_launchURL() async {
  const url = 'https://flutter.dev';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

3.封装的扩展

  /// 打开链接
 static Future<void> launchWebURL(String url) async {
    final Uri uri = Uri.parse(url);
    if (await canLaunchUrl(uri)) {
      await launchUrl(uri);
    } else {
      Toast.Show('打开链接失败!');
    }
  }
 /// 发送短信
  static Future<void> launchSmsURL(String phone) async {
    final Uri uri = Uri.parse('sms: $phone');
    if (await canLaunchUrl(uri)) {
      await launchUrl(uri);
    } else {
      Toast.Show('打开失败!');
    }
  }
  /// 发送邮件
  static Future<void> launchEmailURL(String email, String subject, String body) async {
    final Uri uri = Uri.parse('mailto:$email.com?subject=$subject&body=$body');
    if (await canLaunchUrl(uri)) {
      await launchUrl(uri);
    } else {
      Toast.Show('打开失败!');
    }
  }

4.常见的url scheme

序号 类别 地址

1

QQ mqq://
2 微信 weixin://
3 淘宝 taobao://
4 美团 imeituan://
5 点评 dianping://
6 1号店 wccbyihaodian://
7 微博 sinaweibo://
8 腾讯微博 TencentWeibo://
9 weico微博 weico://
10 知乎 zhihu://
11 豆瓣 doubanradio://
12 网易公开课 ntesopen://
13 Chrome googlechrome://
14 QQ浏览器 mqqbrowser://
15 uc浏览器 ucbrowser://
16 搜狗浏览器 SogouMSE://
17 百度地图 baidumap:// bdmap://
18 优酷 youku://
19 人人 renren://
20 我查查 wcc://
21 有道词典 yddictproapp://
22 微盘 sinavdisk://
23 名片全能王 camcard://
24 支付宝 alipay://

猜你喜欢

转载自blog.csdn.net/eastWind1101/article/details/130317398