项目场景:

最近在写一个 领淘宝优惠劵的 页面, 逻辑是 点击商品后, 在内部的WebView 显示,显示页面会自动打开scheme链接来尝试启动 淘宝app,

问题描述:

因为flutter没有自带的webView控件 ,这里使用插件来显示页面

flutter_webview_plugin: ^0.3.11
@override
Widget build(BuildContext context) {var webViewTitle = "领券中...".obs;FlutterWebviewPlugin().onStateChanged.listen((WebViewStateChanged st) async {String title =await FlutterWebviewPlugin().evalJavascript("window.document.title");title = title.replaceAll("\"", "");if (!(title == "")) {webViewTitle.value = title;}});var url = Get.arguments; // 获取传递过来的 淘宝  coupon_share_url 链接return WebviewScaffold(url: url,withZoom: true,withJavascript: true,userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",appBar: AppBar(title: Obx(() => Text(webViewTitle.value)),),);}

使用后页面显示正常, 但是却不能正常打开scheme , 出现 网页无法打开 位于 tbopen://m.taobao.com … ,这样的问题


解决方案:

引入 url_launcher

url_launcher: ^6.0.3
   FlutterWebviewPlugin().onUrlChanged.listen((String url) async {if (!(url.startsWith("http:") || url.startsWith("https:"))) {await FlutterWebviewPlugin().stopLoading();await FlutterWebviewPlugin().goBack();  await launch(url); //use url launcher plugin}});

添加WebView url改变事件,判断 是否是 scheme 链接后, 调用 url_launcher 打开

Flutter中使用WebView内打开scheme链接 调用其他程序相关推荐

  1. 聊聊微信内打开H5链接时如何自动跳转外部浏览器打开

    很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们实现微信跳转功能即可.下面跟大家聊聊微信内如何实现自动跳转外部浏览器打开网页 功能目的 生 ...

  2. android webview_在 Flutter 中使用 WebView

    本文示例代码可在微信公众号「01二进制」后台回复「WebView」查看下载 前言 我们知道在开发 Native App 时经常会有打开网页的需求,可供的选择通常只有两种: 在 App 内部打开网页 通 ...

  3. Java中使用webview内嵌vue页面

    技术服务于业务,在什么情况下我们需要使用webview去内嵌vue页面呢.众所周知webview作为一个组件,可以看成是一个微型浏览器内核.那么如果在我们的程序中集成webview,那么我们的程序是不 ...

  4. Flutter之点击按钮打开百度链接

    1 需求 点击按钮,打开百度链接 2 代码实现 import 'package:flutter/material.dart'; import 'package:url_launcher/url_lau ...

  5. Flutter 中的应用内购买

    虽然我们总是精心制作我们的应用程序,但我们并不总是让它们免费.除了将我们的应用程序上传到Play商店收取费用外,另一种赚钱的方式是通过应用内购买.Flutter in_app_purchase(IAP ...

  6. 微信小程序中嵌套html_微信小程序中使用 web-view 内嵌 H5 时,登录问题的处理方法...

    在微信小程序的开发中,经常遇到需要使用 内嵌 H5 的需求.在这种需求中比较棘手的问题应该就是登录状态的判断了,小程序中的登录状态怎样与H5中的登录状态保持一致? 一般来说,后端开发同事多数会要求我们 ...

  7. 在linux系统中自定义协议,让浏览器可以调用本地程序

    备注: 以下适用于在kde桌面环境下(同样适用于centos7),包括统信UOS.Ubuntu系统, 步骤一: 新建一个demo.desktop,demo为协议名称内容如下: [Desktop Ent ...

  8. 苹果用户在微信内打开下载链接如何不用跳转就能下载app

    分析 由于微信引流具备快速性和高效的二次传播性,故众多商家纷纷选择微信推广为主要的推广方式.但在使用微信分享链接和营销方案的过程中经常会遇到分享链接在微信内被拦截从而无法打开或者打开后无法下载文件 的 ...

  9. H5 跳转Flutter APP问题:在Flutter中解决H5能够打开APP并接收H5传递的参数

    最近遇到了这个问题,其实这个问题在源生开发中算是一个很常见的问题.有很多场景都需要通过其他APP或者H5来打开APP并且有时候会携带参数. 所以在这里我说一下我的做法(大神勿喷,有更好的办法请评论区留 ...

最新文章

  1. 社区网站功能实现系列(三):社区页面无刷新回发的一种实现方式
  2. 郁金香汇编代码注入怎么写看雪_雷军1994年写的诗一样的代码,我把它运行起来了!...
  3. spring mvc学习(5):IDEA修改背景颜色大全
  4. VS2003升级VS2010修改
  5. Hammer.js分析(三)——input.js
  6. WhatsApp拟取消服务订阅年费
  7. 简述使jdbc连接mysql数据库_java中简述使用JDBC完成数据库操作的基本步骤。
  8. C++ WindowsAPI 教程:MessageBox函数详解(原创)
  9. 商务英语学计算机吗,BEC商务英语
  10. 微信小程序云开发之云数据库
  11. 吉首 - 超超的自闭意思(素筛+暴力)
  12. Oracle和plsql的卸载与安装
  13. hfs explorer java_HFSExplorer0.23.1下载_HFS格式磁盘文件查看工具 含使用教程
  14. html制作美容热点产品,美容热点产品.html
  15. 三井化学将扩大LUCANT™产能
  16. orchestrator_配置IBM Cloud Orchestrator以配置到SoftLayer
  17. 【深度学习】caffe中那些layers
  18. 大学生体质测试管理系统
  19. python 播放声音_python播放音频
  20. 简历还能这样写——程序员

热门文章

  1. Java 心心跳动,能把女朋友感动哭的效果
  2. C++ - Copy Elision
  3. Motorola(二)
  4. 电脑连接不上手机和路由器热点解决办法
  5. HTML入门网页制作,HTML+css运用做出
  6. Anki 学习排行榜
  7. 小学生体测测试环境怎么填_小学体测在各个学校展开 最新六年级测试项目及评价标准表一览...
  8. 使用 EasyExcel 操作exsel文件
  9. java中是什么意思_java中什么意思?
  10. linux 函数中打印调用栈