Flutter 插件url_launcher简介及使用,打开外部浏览器,拨打电话,发送短信,打开微信,支付宝,qq等

url_launcher

插件名称:url_launcher


在这里插入图片描述

使用Demo

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

class Url_launcherPage extends StatefulWidget {
  @override
  _Url_launcherPageState createState() => _Url_launcherPageState();
}

class _Url_launcherPageState extends State {
  @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.white,
      child: ListView(
        children: [
          textButtonItem('打开外部浏览器', "https://cflutter.com"),
          textButtonItem('拨打电话', "tel:10086"),
          textButtonItem('发送短信', "sms:10086"),
          textButtonItem('打开微信', "weixin://"),
          textButtonItem('打开支付宝', 'alipays://'),
          textButtonItem('打开淘宝', 'taobao://'),
          textButtonItem(
              '发送邮件', "mailto:[email protected]?subject=Test&body=测试"),
          // 协议格式:mailto:?subject=&body=
        ],
      ),
    );
  }

  Widget textButtonItem(String title, String urlLink) {
    return TextButton(
      child: Text(title),
      onPressed: () async {
        // 苹果App升级用的此方式
        // 前提是首先获取App在苹果里面的地址
        var url = urlLink;
        if (await canLaunch(url)) {
          await launch(url);
        } else {
          throw 'Could not launch $url';
        }
      },
    );
  }
}

打开其它应用时,都是改变相应的url协议地址即可,跳转原理参照原生开发使用的url scheme,常用的如下:

QQ: mqq:// 
微信: weixin:// 
京东: openapp.jdmoble:// 测试了,好像不行
淘宝: taobao:// 
美团: imeituan:// 
点评: dianping:// 
1号店: wccbyihaodian:// 
支付宝: alipay:// 
微博: sinaweibo:// 
腾讯微博: TencentWeibo:// 
weico微博: weico:// 
知乎: zhihu:// 
豆瓣fm: doubanradio:// 
网易公开课: ntesopen:// 
Chrome: googlechrome:// 
QQ浏览器: mqqbrowser:// 
uc浏览器: ucbrowser:// 
搜狗浏览器: SogouMSE:// 
百度地图: baidumap:// bdmap:// 
优酷: youku:// 
人人: renren:// 
我查查: wcc:// 
有道词典: yddictproapp:// 
微盘: sinavdisk:// 
名片全能王: camcard://

你可能感兴趣的:(Flutter 插件url_launcher简介及使用,打开外部浏览器,拨打电话,发送短信,打开微信,支付宝,qq等)