添加pubspec.yaml依赖

url_launcher: ^5.4.1

webview_flutter: ^0.3.18+1

--------------main.dart

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:webview_flutter/webview_flutter.dart';void main() => runApp(MyApp());const String TITLE='whq_test';class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: TITLE,theme: ThemeData(primarySwatch: Colors.blue,),home: MyHomePage(title: TITLE),);}
}class MyHomePage extends StatefulWidget {MyHomePage({Key key, this.title}) : super(key: key);final String title;@override_MyHomePageState createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {String _title = TITLE;WebViewController _webViewController=null;@overridevoid initState() {super.initState();}void _openApp(openurl) async{// Androidprint("open app");final url = 'vnd.'+openurl;if (await canLaunch(url)) {await launch(url);} else {//  Iosfinal url = openurl;if(await canLaunch(url)){await launch(url);}else{throw 'Could not launch $url';}}}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(_title),),body: WebView(initialUrl: "http://whqtest/app/test.html",javascriptMode: JavascriptMode.unrestricted,navigationDelegate: (NavigationRequest request){if (request.url.startsWith('js://webview')) {print('blocking navigation to $request}');_openApp(request.url.replaceAll("js://webview", "").replaceAll("?url=", ""));return NavigationDecision.prevent;}print('allowing navigation to $request');return NavigationDecision.navigate;},onWebViewCreated: (WebViewController webViewController){_webViewController=webViewController;},onPageFinished: (url){_webViewController.evaluateJavascript("document.title").then((result){String title = result.substring(1, result.length - 1);if (title.length > 0) {print(title);setState(() {_title = title;});}});},),);}@overridevoid dispose(){super.dispose();_webViewController=null;}
}

————————test.html

hello world!<a href="https://www.baidu.com">百度</a><a href="js://webview?url=weixin://">微信</a>

flutter webview浏览器及与js交互、打开第三方app相关推荐

  1. uni-app 实现打开第三方app

    uni-app 实现打开第三方app manifest.json -> plus -> distribute -> apple 节点下,添加 urlschemewhitelist.对 ...

  2. WebView打开第三方APP

    最近做项目遇到一个需求,用应用内WebView打开淘宝和支付宝来进行授权,之前没做过,写下来记录一下 1.首先webview要实现setWebViewClient, shouldOverrideUrl ...

  3. Android Webview打开第三方APP(高德地图 淘宝 QQ等等)

    现在很多APP不单靠Android原生开发来完成,今天我们就遇到一个情况,app嵌入H5界面也就是我们通常用的Webview来显示.当进行点击操作跳转到对应的APP.比如说点击网页的导航跳转到高德地图 ...

  4. android 模拟点击第三方app,Android实现打开第三方app

    前言 在android开发过程中,我们有时会涉及到在本应用中打开第三方应用的需求,那么这里我封装了一个工具类--AppHelper,用于实现获取本设备中app安装列表及在本应用中打开第三方应用的功能, ...

  5. Android打开第三方APP

    直接调appReRunning /*** 打开另一个app** @param context* @param packname*/public static int openOtherApp(Cont ...

  6. android封装全局调用的toast_【Android】Android中WebView实现Java与JS交互

    现在混合式开发是大趋势,H5不断蚕食移动互联网的份额,有的公司甚至只用H5就搞了一个APP,我们搞Android的不说会点H5,至少要懂怎么和H5(和JavaScript)交互,费话不多说. 一.先看 ...

  7. Android webview和HTML的JS交互

    1.webView加载页面 我们都知道在Android中是通过webView来加载html页面的,根据HTML文件所在的位置不同写法也不同: //例如:加载assets文件夹下的test.html页面 ...

  8. js/html打开手机APP常用应用大全

    js通过URL Scheme打开常用应用大全 系统 短信 sms:// app store itms-apps:// 电话 tel:// 备忘录 mobilenotes:// 设置 prefs:roo ...

  9. Android 打开高德地图、百度地图进行导航;打开第三方App去导航;

    抽成工具类了,复制下来就能直接用了,直接看代码吧: 高德地图Url Api: http://lbs.amap.com/api/amap-mobile/guide/android/navigation ...

最新文章

  1. 性能测试分享:系统架构
  2. 世界最成功的僵尸网络使用Fast Flux技术躲避检测
  3. 现代制造工程课堂笔记03:第二部分(含易考点与必考点)
  4. C和指针之字符串实现my_strrchr(char *str, int ch)的函数
  5. Python 新式类与经典类
  6. ft232h引脚_一种基于芯片ft232h的usb接口电路的制作方法
  7. 【MongoDB系列】:MongoDB 查询应用
  8. 一个空格惹的祸:服务器端接收不到前端采用问号传参方式传过来的值
  9. 将PDG文件转化为PDF文件
  10. cad黑色背景变成白色_学会了、让你前程似锦的CAD完整版教程
  11. mimics能导出什么格式_Mimics到底支持怎样的图像格式(修正版)
  12. 两向量叉乘的计算公式_向量的叉乘运算法则
  13. python采集微信聊天信息_我用 Python 破解了微信聊天记录,自动同步微信文章
  14. 全球首家 MUJI 酒店,这里有一份事无巨细的探店体验
  15. 一键制作低多边形海报效果教程
  16. 自定义vue3.0日历组件
  17. 你是真的“C”——详解函数递归+求解青蛙跳台阶问题
  18. [翻译学习]MonoSLAM: Real-Time Single Camera SLAM
  19. 计算机课程的教案模板,计算机教学设计模板.doc
  20. IDEA自动导包功能

热门文章

  1. 前端学习(2275)初始化react
  2. “约见”面试官系列之常见面试题之第七十三篇之js文件中import中加{}和不加{}的区别(建议收藏)
  3. 前端学习(1860)vue之电商管理系统电商系统之渲染login组件并且实现路由重定向
  4. 前端学习(1558):ng-repeat命令
  5. 前端学习(511):两列布局的第一种方式
  6. shiro学习(18):使用注解实现权限认证和后台管理三
  7. 第七十五期:网络 | 5G那些运营商不愿说的秘密
  8. 机器学习算法总结--决策树
  9. wcl怀旧服网站中文查服务器fb进度,魔兽世界怀旧服wa插件字符串分享 WCL评分和服务器排行查询...
  10. 统计通话次数和时间的软件_通话时间统计app下载|通话时间统计安卓版下载 v1.0.3 - 跑跑车安卓网...