url_launcher: ^6.2.5
 
在Flutter中,url_launcher库是用于在移动应用程序中打开URL的常用工具。它允许你通过调用系统的浏览器或其他应用程序来打开指定的URL,比如网页链接、电子邮件链接、电话号码等。这个库提供了一种简单的方法来实现在应用中跳转到外部链接的功能,增强了应用的交互性和实用性。
launch方法: 用于启动任意URL,包括网址、电话号码、电子邮件地址等。
  1. // 启动网址
  2. _launchURL() async {
  3. final Uri url = Uri.parse('https://www.baidu.com/?tn=68018901_16_pg');
  4. if (!await launchUrl(url,mode:LaunchMode.externalApplication)) {
  5. throw Exception('Could not launch $url');
  6. }else {
  7. throw '无法打开链接 $url';
  8. }
  9. }
启动外部app
  1. // 启动微信APP
  2. _launchURL() async {
  3. final Uri url = Uri.parse('weixin://');
  4. if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
  5. throw Exception('Could not launch $url');
  6. }
  7. }
launchEmail方法: 用于启动发送电子邮件的操作
  1. //发送邮件
  2. _launchURL() async {
  3. // 收件人邮箱
  4. String recipient = "*******@qq.com";
  5. //邮件主题
  6. String subject = "邮件主题";
  7. // 邮件内容
  8. String body = "邮件内容";
  9. String mailtoUri =
  10. "mailto:$recipient?subject=$subject&body=$body";
  11. final Uri url = Uri.parse(mailtoUri);
  12.  
  13. if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
  14. throw Exception('Could not launch $mailtoUri');
  15. }
  16. }
launchPhone方法: 用于启动拨打电话的操作
  1. //拨打电话
  2. _launchURL() async {
  3. String phoneNumber = "15818221700";
  4. final Uri launchUri = Uri(
  5. scheme: 'tel',
  6. path: phoneNumber,
  7. );
  8. await launchUrl(launchUri);
  9. }
发送短信
  1. //发送短信
  2. _launchURL() async {
  3. // 收件人电话
  4. String recipient = "151700";
  5. // 短信内容
  6. String body = "111";
  7. String smsUrl = 'sms:$recipient?body=${Uri.encodeQueryComponent(body)}';
  8. final Uri url = Uri.parse(smsUrl);
  9.  
  10. if (!await launchUrl(url, mode: LaunchMode.externalApplication)) {
  11. throw Exception('Could not launch $smsUrl');
  12. }
  13. }
 
 

flutter 移动应用程序中打开URL的更多相关文章

  1. Win7-其中的文件夹或文件已在另一个程序中打开

    Win7-其中的文件夹或文件已在另一个程序中打开 如何解决Win7系统在删除或移动文件时提示,“操作无法完成,因为其中的文件夹或文件已在另一个程序中打开,请关闭该文件夹或文件,然后重试”.   步骤阅 ...

  2. Openerp 中打开 URL 的三种 方法

    来自:http://shine-it.net/index.php/topic,8013.0.html 最近总结了,Openerp 中打开 URL 的三种 方法: 一.在form view 添加 < ...

  3. win10文件夹或文件已在另一程序中打开

    我们在对文件或文件夹进行删除.移动.重命名等操作时,系统可能提示“操作无法完成,因为其中的文件夹已在另一程序中打开,请关闭该文件或文件夹,然后重试.”,遇到这种情况我们应该怎么办呢?请看下文. 方法/ ...

  4. Core在IIS的热发布问题或者报错文件已在另一个程序中打开

    关于Core发布到IIS的热发布问题,或者覆盖dll文件的时候会报错"文件已在另一个程序中打开",也就是无法覆盖程序的问题,经过百度和分析总结以下几种方案: 一.使用app_off ...

  5. 在WPF程序中打开网页:使用代理服务器并可进行JS交互

    本项目环境:使用VS2010(C#)编写的WPF程序,通过CefSharp在程序的窗体中打开网页.需要能够实现网页后台JS代码中调用的方法,从网页接收数据,并能返回数据给网页.运行程序的电脑不允许上网 ...

  6. Debian Buster 使用Lxde在界面中打开url提示错误解决

    问题复现 这里我在VLC上看到个链接地址,蓝字部分,正常点击会跳转浏览器打开 可是 问题原因 非浏览器上点击url默认会使用xdg-open打开url 这里Debian Buster打包的时候,xdg ...

  7. Web程序中打开QQ、邮箱、阿里旺旺等

    在网页中使用链接打开QQ的聊天窗口有两种方式: uin的值为qq号 <a target="_blank" href="@Url.Content("tenc ...

  8. android在程序中打开另一个程序

    在开发android应用的时候,在一些情况下要有前置条件,比如这边所说的要启动时要确保别的应用程序服务已经打开  或者在操作中启动别的应用等. 先来一段google上的代码: 1. 已知包名和类名的情 ...

  9. 在android程序中打开另一个应用程序

    Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名 ...

  10. 操作无法完成,因为文件夹已在另一个程序中打开(the action can't be completed because the folder or a file in it is open in another program)

    解决方法: 启动任务管理器——性能——资源监视器——CPU选项卡——关联的句柄——搜索句柄 ——(输入)要删除的文件夹名——搜索到与文件夹名句柄相关联的进程 (由于此程序进程正在调用文件夹,才造成了对 ...

随机推荐

  1. idea dev 分支合并到 master 流程

    合并分支前要全部提交 包括config.js 要不merge时候很麻烦 1 切换到master分支 Checkout 2 Merge into Current 3 commit push 4 切换回d ...

  2. Android源码在线查看网站

    一.aospxref http://aospxref.com/ 优点:更新速度快 缺点:历史版本较少 二.androidxref http://androidxref.com/ 优点:历史版本较多 缺 ...

  3. IDEA 突然无法打开 解决办法

    如果实在没有方法了可以试一试 删除所有的配置文件,默认位置C:\Users\${你的用户名}\${.IntelliJIdea+版本} 注意:删除配置后之前所有的设置都会失效,谨慎操作.

  4. mybatis xml 文件 sql include 的用法

    mybatis xml 文件中对于重复出现的sql 片段可以使用标签提取出来,在使用的地方使用标签引用即可具体用法如下: <sql id="Base_Column_List" ...

  5. linux 检查是否安装过某软件包

    1.rpm包安装的,可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字" 2.以deb包安装的,可以用 dpkg -l ...

  6. LCD - 液晶显示原理(一)

    1. 显示器介绍 ​ 显示器属于计算机的I/O设备,即输入输出设备.它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具.常见的有CRT显示器.液晶显示器. LED点阵显示器及OLED显示器. 液 ...

  7. Windows线程API —CreateTimerQueueTimer/DeleteTimerQueueTimer的使用

    问题代码: 1 #include<windows.h> 2 #include<iostream> 3 #include<thread> 4 HANDLE h1; 5 ...

  8. 【Java】请写出你最常见到的 5 个 runtime exception

    请写出你最常见到的 5 个 runtime exception. ​ 参考:https://blog.csdn.net/qq_20417499/article/details/80222820 Cla ...

  9. Python 列表list方法clear( )和直接list [ ]的区别

    x.clear()是将内存地址清空, x=[ ]会新开辟一个内存空间.

  10. Python---flask框架实现免密登录功能

    思路总结: html代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta c ...