Flutter中的打电话、发短信、调起外部浏览器、打开外部APP
- 2019 年 10 月 4 日
- 筆記
我们通过url_launcher来实现调起电话、短信、外部浏览器、外部APP的功能。
import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; class SaveLocalDataPage extends StatefulWidget { SaveLocalDataPage({Key key}) : super(key: key); _SaveLocalDataPageState createState() => _SaveLocalDataPageState(); } class _SaveLocalDataPageState extends State<SaveLocalDataPage> { //拨打电话 _call() async { const url = 'tel:10000'; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url'; } } //发送短信 _message() async { const url = 'sms:18868876045'; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url'; } } //打开外部浏览器 _openBrower() async { const url = 'https://flutter.dev'; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url'; } } //打开外部应运用 _openOtherApp() async { /** * weixin:// * alipays:// */ const url = 'alipays://'; if (await canLaunch(url)) { await launch(url); } else { throw 'Could not launch $url'; } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text("url_launchDemo")), body: Column( children: <Widget>[ RaisedButton( onPressed: () { _call(); }, child: Text("拨打电话"), ), SizedBox(height: 10), RaisedButton( onPressed: () { _message(); }, child: Text("发送短信"), ), SizedBox(height: 10), RaisedButton( onPressed: () { _openBrower(); }, child: Text("打开外部浏览器"), ), SizedBox(height: 10), RaisedButton( onPressed: () { _openOtherApp(); }, child: Text("打开外部应用"), ), ], ), ); } }
运行效果如下:
需要注意的是,调起外部APP我没有细讲,大家如果有需求可以参考这篇文章:
https://blog.csdn.net/u011272795/article/details/82786027
以上。