Flutter 如何快速打开第三方应用

简介: 学习Flutter也有一段时间了,今天简单总结一下怎样使用Flutter快速打开第三方应用。*1*url_launcher插件

image.png

url_launcher是flutter官方提供的一款用于在移动平台中启动URL的插件库,因此使用起来非常方便,跟其他插件库一样先引入,然后使用即可;url_launcher支持跳转默认浏览器打开URL、拨打电话、短信、打开微信或QQ、地图等。

使用

1.将url_launcher添加到包的pubspec.yaml文件中构建:

dependencies:  url_launcher: ^5.2.5

与其他插件库一样构建完之后,引入使用

import 'package:url_launcher/url_launcher.dart';

2.在默认浏览器中打开URL

主要API为canLaunch、launch,插件已经封装好了底层源码,实际上也是居于Android和iOS与原生交互封装的;所以我们在使用上,只用到canLaunch、launch方法就够了。

如下是跳到默认浏览器打开url的实例:

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

先通过canLaunch判断url是否可以正常调用,如果可以,则执行launch(url)打开url,而实例中的url是https(http也一样),则在默认浏览器中打开。

3其他

1.拨打电话:

用法和打开默认浏览器差不多,不一样的地方就是url协议,协议格式:tel:

例如 url = 'tel:13800138000';

_launchURL() async {
  const url = 'tel:13800138000';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw '不支持拨打电话';
  }
}

2.发送短信:

协议格式:sms:

例如 url = 'sms:13800138000';

_launchURL() async {
  const url = 'sms:13800138000';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw '不支持发送短信';
  }
}

3.发送邮件:

协议格式:mailto:?subject=&body=

例如 url = 'mailto:superluo666@gmail.com?subject=Test&body=测试跳转发送邮件';

_launchURL() async {
  const url = 'mailto:superluo666@gmail.com?subject=Test&body=测试跳转发送邮件';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw '不支持发送邮件';
  }
}

4.其他跳转协议:

如跳转微信、QQ、高德地图等,都是改变相应的url协议地址即可,跳转原理参照原生开发使用的url scheme,比如一些常用的
微信: weixin:// 
京东: openapp.jdmoble:// 
淘宝: taobao:// 
Chrome: googlechrome:// 
百度地图: baidumap://
高德地图:androidamap://、iosamap://

5.demo效果:

image.png

本文GitHub Demo地址:
https://github.com/ChessLuo/flutter_study_app

相关文章
|
28天前
|
Dart Android开发
鸿蒙Flutter实战:05-使用第三方插件
在鸿蒙Flutter开发中,使用原生功能需借助插件。可自编原生ArkTS代码或采用第三方插件。自编代码通过PlatformView或MethodChannel实现;第三方插件需确保适配鸿蒙,否则须配置替代插件或自行开发。
51 1
鸿蒙Flutter实战:05-使用第三方插件
|
9天前
|
存储 调度 数据安全/隐私保护
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
鸿蒙应用打包上架流程包括创建应用、打包签名和上传应用。首先,在AppGallery Connect中创建项目、APP ID和元服务。接着,使用Deveco进行手动签名,生成.p12和.csr文件,并在AppGallery Connect中上传CSR文件获取证书。最后,配置签名并打包生成.app文件,上传至应用市场。常见问题包括检查签名配置文件是否正确。参考资料:[应用/服务签名](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-signing-V5)。
34 3
鸿蒙Flutter实战:13-鸿蒙应用打包上架流程
|
2月前
|
传感器 缓存 监控
Stream 组件在 Flutter 中的应用场景有哪些?
Stream 组件在 Flutter 中的应用场景有哪些?
173 58
|
20天前
|
移动开发 Dart 搜索推荐
打造个性化安卓应用:从零开始的Flutter之旅
【10月更文挑战第20天】本文将引导你开启Flutter开发之旅,通过简单易懂的语言和步骤,让你了解如何从零开始构建一个安卓应用。我们将一起探索Flutter的魅力,实现快速开发,并见证代码示例如何生动地转化为用户界面。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供价值。
|
13天前
|
存储 Dart
Flutter&鸿蒙next 实现一个计算器应用
本文介绍了如何使用 Flutter 创建一个简单的计算器应用,包括基本的加减乘除运算。文章详细讲解了界面布局、计算逻辑和状态管理的实现步骤,通过具体的代码示例展示了如何构建计算器界面、处理用户输入和显示计算结果。
60 0
|
13天前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
114 0
|
1月前
|
缓存 监控 前端开发
怎样提升 Flutter 应用的性能
【10月更文挑战第4天】
|
2月前
|
开发框架 搜索推荐 开发工具
打造个性化安卓应用:从零开始的Flutter之旅
【8月更文挑战第51天】本文是一篇面向初学者的Flutter入门教程,旨在通过简单易懂的语言和实际代码示例,引导读者步入跨平台移动应用开发的世界。文章首先介绍了Flutter的基本概念和优势,然后逐步展示了如何搭建开发环境、创建第一个Flutter应用,并实现了一个简单的待办事项列表。最后,文章探讨了Flutter在实现高性能和美观界面方面的潜力,鼓励读者发挥创意,探索更多可能。
85 15
|
2月前
|
JSON Dart Java
flutter开发多端平台应用的探索
flutter开发多端平台应用的探索
50 6
|
2月前
|
JSON Dart Java
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)