Flutter 使用 url_launcher 唤起三方应用

https://www.jianshu.com/p/0ecd61533687


简介

最近在fluttergo的issue中看到一条信息.笔者去pub库中简单的查了一个这个库的使用方法, 这个库的文档延续了google简约的风格. 查阅了baidu. google后也没有发现什么有意义的文档. 除了将英文翻译转化成中文, 就没有直接伸手党可以用的东西. 所以笔者亲自进行尝试.

求问flutter如何打开第三方app,,我想flutter一件打开淘宝app,但是我发现我,我无法打开,我通过搜索引擎拿到的方法都是 url_launcher这个插件,这个插件,好像无法打开淘宝,,,,我目前的做法是 拿到了 手机淘宝app在ios的app Store链接,用url_launcher打开这个链接, 然后会跳转到app Store,app store在一建打开淘宝,,但是安卓我就没辙了,,求大神们,提供一下 flutter如何一键打开淘宝appfluttergo issue

文档

大家可以自行参考官方文档:简约的文档

安装

将包的信息添加到pubspec.yaml:

dependencies:url_launcher:^5.1.3

使用

使用方法比较简单, 只要为某个按钮增加点击事件, 调用launch即可

import'package:url_launcher/url_launcher.dart';..._launchURL()async{consturl='xxx';// 这个xx就是唤起三方应用的重要因素if(awaitcanLaunch(url)){// 判断当前手机是否安装某app. 能否正常跳转awaitlaunch(url);}else{throw'Could not launch $url';}}@overrideWidgetbuild(BuildContext context){...RaisedButton(onPressed:_launchURL,child:Text("打开三方应用"),),...}

注意

在笔者按照官方的说明一步一步的调用的时候. 在点击按钮的时候模拟器竟然报错了. 报错的信息如下:

Unhandled Exception: MissingPluginException(No implementation found for method launch on channel)

这个错误显示的是Plugin的方法没有找到,也许是Plugin没有注册成功。 拿到这条消息的时候, 我们也是一脸蒙蔽的. 在尝试了以下二种方案后app成功运行

flutter clean 然后 flutter run/build

杀掉 flutter run 然后 flutter run/build

以上二个方案, 不知道是哪个解决的这个问题. 我是挨个做了一遍后成功运行.

效果展示

使用googlechrome:打开谷歌浏览器

[图片上传失败...(image-5c9ce2-1573131723599)]

使用tel:拨打电话

[图片上传失败...(image-3336b7-1573131723599)]

总结

在flutter打开三方应用, 除了官方文档中举例外. 我们通常需要打开类似于淘宝,支付宝, 微信, 京东等app, 打开这一类的app需要知道对应 app的url schema, 即可顺滑的打开三方app

这里以taobao做举例, 淘宝的schema是taobao:

_launchURL()async{String url="taobao://item.taobao.com/item.html?id=41700658839";if(awaitcanLaunch(url)){awaitlaunch(url);}else{throw'Could not launch $url';}}

最后附上一个网上搜来schema的集合,原文地址

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://

作者:Nazarite_0141

链接:https://www.jianshu.com/p/0ecd61533687

来源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(Flutter 使用 url_launcher 唤起三方应用)