Flutter Widget 之url_launcher

256 阅读1分钟

你的应用程序是否需要一种方法将用户定向到外部URL

要么是网页或发送电子邮件甚至有时是电话号码呢?URL插件就是为你而设的

ezgif.com-gif-maker.gif

RaisedButton(
    onPressed: () => {await launcher("https://flutter.dev");},
    child: Text("Open Flutter homepage"),
);

ezgif.com-gif-maker (2).gif 就像调用单个方法般容易

你也可以将url_launcher与电话号码一起使用,这样可开启电话的拨号应用程序

RaisedButton(
    onPressed: () => { await launcher("tel:+1 555 010 020 ");},
    child: Text("Open Flutter homepage"),
);

ezgif.com-gif-maker (1).gif

你也可以发送短信甚至电子邮件

RaisedButton(
    onPressed: () => { await launcher("sms:+1 555 010 0202");},
    child: Text("Open Flutter homepage"),
)

RaisedButton(
    onPressed: () => { await launcher("mailto:flutter@example.com");},
    child: Text("Open Flutter homepage"),
)

ezgif.com-gif-maker (3).gif

最后,如果有应用程序, 安装了特别的URL处理器,例如,Youtube

你的应用程序就可以在那些应用中启动

RaisedButton(
    onPressed: () => { await launcher("...");},
    child: Text("Open Flutter homepage"),
);

ezgif.com-gif-maker (4).gif

最后一件事:在离开之前 你应该随时查看一下,确保调用canLaunch来检查设备是否可以打开URL,否则,你可能会遇到麻烦

const url = 'https://flutter.dev';
if (await canLaunch(url)) {
    await launch(url);
} else {
    throw 'Could not launcher $url';
}

如果想了解有关url_launcher的内容,或者关于Flutter的其他功能,请访问url_launcher

原文翻译自视频:视频地址