一个用于在移动平台上启动URL的Flutter插件。支持iOS和Android。可在默认浏览器中打开URL、打电话、发送信息、发送邮件。
一、安装插件
dependencies:
url_launcher: ^5.2.7
二、使用说明
Scheme | Action |
---|
http:<URL> , https:<URL>, 例: http://flutter.dev | 在默认浏览器中打开url |
mailto:<email address>?subject=<subject>&body=<body>, 例: mailto:smith@example.org?subject=News&body=New%20plugin | 发送邮件 |
tel:<phone number>, 例:tel:+1 555 010 999 | 打电话 |
sms:<phone number>, 例:sms:5550101234 | 发送信息 |
相关API
API | 说明 |
---|
canLaunch(String urlString) | 检测设备是否能够打开url |
launch(String urlString,…) | 打开url |
三、示例
import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
class UrlLauncherRoute extends StatelessWidget{
_launchURL() async {
const url = 'https://www.baidu.com';
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
_call() async{
const phone = '114';
await launch('tel:$phone');
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('url_launcher'),
),
body: Container(
width: double.infinity,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
RaisedButton(
child: Text('在默认浏览器中打开百度'),
onPressed: _launchURL,
),
RaisedButton(
child: Text('打电话'),
onPressed: _call,
)
]
),
)
);
}
}