最近在fluttergo的issue中看到一條信息.筆者去pub庫中簡單的查了一個這個庫的使用方法, 這個庫的文檔延續了google簡約的風格. 查閱了baidu. google後也沒有發現什麼有意義的文檔. 除了將英文翻譯轉化成中文, 就沒有直接伸手黨能夠用的東西. 因此筆者親自進行嘗試.html
求問flutter如何打開第三方app,,我想flutter一件打開淘寶app,可是我發現我,我沒法打開,我經過搜索引擎拿到的方法都是 url_launcher這個插件,這個插件,好像沒法打開淘寶,,,,我目前的作法是 拿到了 手機淘寶app在ios的app Store連接,用url_launcher打開這個連接, 而後會跳轉到app Store,app store在一建打開淘寶,,可是安卓我就沒轍了,,求大神們,提供一下 flutter如何一鍵打開淘寶app fluttergo issueios
你們能夠自行參考官方文檔: 簡約的文檔git
將包的信息添加到pubspec.yaml:github
dependencies:
url_launcher: ^5.1.3
複製代碼
使用方法比較簡單, 只要爲某個按鈕增長點擊事件, 調用launch便可chrome
import 'package:url_launcher/url_launcher.dart';
...
_launchURL() async {
const url = 'xxx'; // 這個xx就是喚起三方應用的重要因素
if (await canLaunch(url)) { // 判斷當前手機是否安裝某app. 可否正常跳轉
await launch(url);
} else {
throw 'Could not launch $url';
}
}
@override
Widget build(BuildContext context) {
...
RaisedButton(
onPressed: _launchURL,
child: Text("打開三方應用"),
),
...
}
複製代碼
在筆者按照官方的說明一步一步的調用的時候. 在點擊按鈕的時候模擬器居然報錯了. 報錯的信息以下:瀏覽器
Unhandled Exception: MissingPluginException(No implementation found for method launch on channel)bash
這個錯誤顯示的是Plugin的方法沒有找到,也許是Plugin沒有註冊成功。 拿到這條消息的時候, 咱們也是一臉矇蔽的. 在嘗試瞭如下二種方案後app成功運行微信
以上二個方案, 不知道是哪一個解決的這個問題. 我是挨個作了一遍後成功運行.app
使用 googlechrome: 打開谷歌瀏覽器 async
使用 tel: 撥打電話
在flutter打開三方應用, 除了官方文檔中舉例外. 咱們一般須要打開相似於 淘寶,支付寶, 微信, 京東等app, 打開這一類的app須要知道對應 app的url schema, 便可順滑的打開三方app
這裏以taobao作舉例, 淘寶的schema是 taobao:
_launchURL() async {
String url ="taobao://item.taobao.com/item.html?id=41700658839";
if (await canLaunch(url)) {
await launch(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://
複製代碼