Flutter:使用url_launcher打开外部浏览器、拨打电话、发送短信、打开第三方app、打开应用商店下载应用

这篇具有很好参考价值的文章主要介绍了Flutter:使用url_launcher打开外部浏览器、拨打电话、发送短信、打开第三方app、打开应用商店下载应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Flutter中的url_launcher是一个用于打开URL的插件。它允许在Flutter应用程序中打开网址、发送电子邮件、拨打电话等操作。使用url_launcher插件,可以轻松地在应用程序中集成各种URL操作。

官方地址
https://pub-web.flutter-io.cn/packages/url_launcher

安装

flutter pub add url_launcher

基本使用

打开网址

Center(
        child: ElevatedButton(
          onPressed: () async{
            final Uri url = Uri.parse('https://www.csdn.net/');
            if (!await launchUrl(url,mode:LaunchMode.externalApplication)) {
              throw Exception('Could not launch $url');
            }
          },
          child: const Text("打开浏览器"),
        )
)

这里有两个注意点:

  • 模拟器里无法正常运行,需要使用真机
  • 必须设置为mode:LaunchMode.externalApplication,否则会在应用内单独打开一个界面进行显示

电子邮件

Center(
          child: ElevatedButton(
        onPressed: () async {
          // 收件人邮箱
          String recipient = "15065845632@163.com";
          //邮件主题
          String subject = "邮件主题";
          // 邮件内容
          String body = "邮件内容";
          String mailtoUri =
              "mailto:$recipient?subject=$subject&body=$body";
          final Uri url = Uri.parse(mailtoUri);

          if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
            throw Exception('Could not launch $mailtoUri');
          }
        },
        child: const Text("发邮件"),
      ))

flutter 打开外部浏览器,dart 和 Flutter,flutter
flutter 打开外部浏览器,dart 和 Flutter,flutter
发短信

Center(
          child: ElevatedButton(
        onPressed: () async {
          // 收件人电话
          String recipient = "10086";
          // 短信内容
          String body = "1";
          String smsUrl = 'sms:$recipient?body=${Uri.encodeQueryComponent(body)}';
          final Uri url = Uri.parse(smsUrl);

          if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
            throw Exception('Could not launch $smsUrl');
          }
        },
        child: const Text("发短信"),
      ))

flutter 打开外部浏览器,dart 和 Flutter,flutterflutter 打开外部浏览器,dart 和 Flutter,flutter

打开第三方app

Center(
          child: ElevatedButton(
        onPressed: () async {
          final Uri url = Uri.parse('weixin://');
          if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
            throw Exception('Could not launch $url');
          }
        },
        child: const Text("打开微信"),
      ))

微信可以正常打开,下面这些是从网上搜集的,不清楚是否好用

QQ: mqq:// 
微信: weixin:// 
京东: openapp.jdmoble:// 
淘宝: taobao:// 
美团: imeituan:// 
支付宝: alipay:// 
微博: sinaweibo:// 
知乎: zhihu:// 
豆瓣fm: doubanradio:// 
网易公开课: ntesopen:// 
Chrome: googlechrome:// 
QQ浏览器: mqqbrowser:// 
uc浏览器: ucbrowser:// 
搜狗浏览器: SogouMSE:// 
百度地图: baidumap:// bdmap:// 
优酷: youku:// 
有道词典: yddictproapp:// 
QQ音乐:qqmusic://
腾讯视频:tenvideo://
网易云音乐:orpheus://

应用商店

小米商店:"mimarket://details?id=com.xX.XX"
华为商店:"appmarket://details?id=com.xx.xx"
oppo商店:"oppomarket://details?packagename=com.xx.XX"
vivo商店:""vivomarket://details?id=com.xx.Xx"

以使用oppo商店打开美团为例

ElevatedButton(
        onPressed: () async {
          final Uri url = Uri.parse('oppomarket://details?packagename=com.sankuai.meituan');
          if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
            throw Exception('Could not launch $url');
          }
        },
        child: const Text("下载美团"),
      ))

flutter 打开外部浏览器,dart 和 Flutter,flutter

要想在应用商店打开,需要获取到包名,需要先下载一个应用宝(只要你的应用市场支持分享就行)
flutter 打开外部浏览器,dart 和 Flutter,flutter
我这里分享到了微信里,如下图
flutter 打开外部浏览器,dart 和 Flutter,flutter
打开

flutter 打开外部浏览器,dart 和 Flutter,flutter
复制链接,你会得到这样的链接:

https://a.app.qq.com/o/simple.jsp?pkgname=com.sankuai.meituan&fromcase=70051&g_f=1182517&scenevia=XQYFX

com.sankuai.meituan这就是对应的包名文章来源地址https://www.toymoban.com/news/detail-718658.html

到了这里,关于Flutter:使用url_launcher打开外部浏览器、拨打电话、发送短信、打开第三方app、打开应用商店下载应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium4.15.2 报错Exception managing chrome: error sending request for url 和 打开Chrome浏览器自动退出问题

    最近更新了一不小心更新了selenium4.15.2,导致每次运行它都会主动去国外官网请求一遍,因为访问不了国外网址,就加载特别慢 最后报错 Exception managing chrome: error sending request for url (https://chromedriver.storage.googleapis.com/index.html),然后再运行,一开始以为是webdriver版本和chrome版本

    2024年02月05日
    浏览(115)
  • Android使用WebView打开外部网页链接

    发布Android应用,除了用原生开发外,更多是采用内嵌H5网页的方式来做,便于更新以及多平台使用。 一、第一种方式是直接通过WebView打开外部H5链接。 新建Android工程 直接创建一个工程,点击运行就可以了,打开是个空页面。 关于如何在AndroidStudio里安装AVD虚拟机,请看另外

    2024年04月24日
    浏览(39)
  • 使用selenium启动谷歌Chrome浏览器打开指定网站,页面空白,而使用其它浏览器手动打开该网站则正常

    在使用python实现自动化网络爬虫时,我使用到selenium来驱动谷歌Chrome浏览器来打开某一个网页,然后爬取数据,当使用Python中的selenium库驱动Chrome浏览器打开特定网站时,页面内容为空白,但在其他浏览器中手动访问该网站则显示正常。

    2024年02月07日
    浏览(77)
  • 【已解决】使用selenium启动谷歌Chrome浏览器打开指定网站,页面空白,而使用其它浏览器手动打开该网站则正常

    1、在使用python实现自动化网络爬虫时,我使用到selenium来驱动谷歌Chrome浏览器来打开某一个网页,然后爬取数据,代码如下:    2、但是当执行到driver.get(url)访问网站时,页面是空白的,如下所示,没有正常显示该网站的数据    print输出的网页html也只有如下数据: htmlhea

    2024年02月12日
    浏览(73)
  • selenium 使用已打开的chrome浏览器(python版)

    使用selenium 的 webdriver 调试的时候,每次都是打开一个新的 chrome浏览器实例,特别不方便,那怎么使用上次打开的chrome浏览器实例呢,以下是完整代码,亲测可用 python版本:3.10 系统:win11 步骤1,先写一个打开 chrome浏览器 的文件1,里面指定这个chrome浏览器实例的端口号

    2024年02月14日
    浏览(59)
  • 使用selenium打开浏览器自动关闭及报错问题

    目录 1.问题 2.解决方案 3.安装后可能出现浏览器报错 \\\'msedgedriver\\\' executable needs to be in PATH 4.此时浏览器正常打开并不会出现闪退问题 安装python后,在运行Selenium的时候遇到一个问题,执行完程序,浏览器自动关闭了,我在程序中也没有写driver.quit()方法。代码如下: 当前seleni

    2024年02月17日
    浏览(61)
  • python使用selenium 打开谷歌浏览器闪退, 怎么解决

    在使用 Selenium 操作 Chrome 浏览器时,如果 Chrome 浏览器闪退,则可能是以下几个方面出现了问题: 1. Chromedriver 版本与 Chrome 浏览器版本不匹配 你需要确保你正在使用的 Chromedriver 版本与你的 Chrome 浏览器版本匹配。你可以在 Chromedriver 官网上找到最新版本的 Chromedriver,并下载

    2024年02月11日
    浏览(63)
  • python使用selenium打开chrome浏览器时带用户登录信息

    导读 我们在使用 selenium 打开google浏览器的时候,默认打开的是一个新的浏览器窗口,而且里面不带有任何的浏览器缓存信息。当我们想要爬取某个网站信息或者做某些操作的时候就需要自己再去模拟登陆 selenium操作浏览器 这里我们就以CSDN为例,来展示如何让selenium在打开

    2023年04月24日
    浏览(77)
  • python使用selenium 打开谷歌浏览器闪退解决办法

    在使用 Selenium 操作 Chrome 浏览器时,如果 Chrome 浏览器闪退,则可能是以下几个方面出现了问题: 1. Chromedriver 版本与 Chrome 浏览器版本不匹配 你需要确保你正在使用的 Chromedriver 版本与你的 Chrome 浏览器版本匹配。你可以在 Chromedriver 官网上找到最新版本的 Chromedriver,并下载

    2024年02月08日
    浏览(66)
  • vue 使用 npm run dev命令后 自动打开浏览器为谷歌

    vue 启动后,想要其自动打开指定浏览器(谷歌)并设置要打开的IP地址和端口号 package.json 打开package.json文件加上 --open chrome index.js 打开index.js文件,将浏览器设置为自动打开

    2024年02月15日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包