原生Android可以嵌入webView,webView,native,weex三者之间可以交互,主要通过native这个桥梁
一般有以下几种情况:

  • webView–>native
  • webView–>weex
  • native–>webView
  • weex–>webView

其实以上无论是如何跳转,我们所要做的就是将webView的js文件和Android(native)交互起来
首先在Android方面,创建webViewActivity.
activity_webView

 <WebViewandroid:id="@+id/wv"android:layout_width="match_parent"android:layout_height="wrap_content"tools:ignore="MissingConstraints"></WebView>
 public WebView wv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_webView);HashMap<String, String> header = new HashMap<>();header.put("token", "");wv.loadUrl(getIntent().getStringExtra("url"),header);//设置方法名wv.addJavascriptInterface(this,"nativeMethod");}@JavascriptInterfacepublic void openPage(String url) throws UnsupportedEncodingException {//webView传递过来做的一些操作}

其次在js文件方面

 <a  href="javascript:;" onclick="openPage(id)">跳转原生/weex</a>
function openPage(id) {var weexUrl = encodeURIComponent(url);var param = encodeURIComponent(JSON.stringify({id:id}));var url = `page://weex?url=${weexUrl}&param=${param}`;//关键点nativeMethod.openPage(url);}

从上面我们可以看到,当我们从原生点击跳到webViewActivity时,会加载webView的url,当我们点击webview页面中的openPage时,我们就可以跳回到webViewActivity的openPage方法内,然后在其中我们可以做一些操作,比如跳转到weex页面或者是其他的原生页面。
撒花完结~

【webView】webView和原生Android交互相关推荐

  1. Flutter1.12与原生Android交互(kotlin)

    开发原生部分,还是点击Open for Editing in Android Studio好用,提示.自动引用功能都能正常使用. -----------android/app/src/main/kot ...

  2. uniApp如何与原生Android交互传递数据

    uniApp与Android原生插件互传数据 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以及各种小程序(微 ...

  3. android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调

    项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下. 首先,启用JS支持 //启用js支持 webSettings.setJavaScriptEnabl ...

  4. Android Webview录音功能与原生录音实现

    近日项目集成了个带聊天功能的Webview,一开始只是文字聊天后来增加需求要可以发文字/图片/语音等,一开始使用Webview自带的授权来实现录音功能的,只要授权即可,后面由于IOS的不支持,导致要跟 ...

  5. UCML 原生Android中嵌入Cordova Webview

    Android实现在当前进程打开网页可以将Cordova中的WebView嵌入Android项目中,实现简单,不需要自己实现,所以掌握如何嵌入WebView对项目快速开发很有帮助 官方也有这方面的教程 ...

  6. 关于原生android与H5交互的方法

    文章目录 原生android与H5交互 android调用H5方法 H5调用android 原生android与H5交互 前面讲解方法,结尾放代码 android调用H5方法 首先需要一个WebVie ...

  7. WebView的使用之Android与JS通过WebView互调方法

    WebView的使用之Android与JS通过WebView互调方法 一.概述:  Android与JS通过WebView实现交互,实际上是: Android调用JS的代码: JS调用Android的 ...

  8. android9系统webview崩溃,Android WebView已开始在Android 9上崩溃

    您好专家Android开发人员: 我们有一个android应用,我们的基本工作流程如下 通过电子邮件或短信向用户发送了链接 用户单击链接,然后在Chrome或Android默认浏览器上打开一个页面,并 ...

  9. android webview 本地视频播放,javascript – Android WebView不允许加载本地视频文件

    我有一个带有WebView的应用程序,显示一个HTML文件.在HTML文件中,有一个按钮,用于请求用户录制视频,或从文档文件夹中选择视频. 在选择(或录制)视频时,它会将带有链接(由Uri编码)的ja ...

  10. android 除了webview 浏览器控件,android开发我的新浪微博客户端-OAuth认证过程中用WebView代替原来的系统自带浏览器...

    前面的文章的OAuth认证过程在获取oauth_verifier码是是通过调用android系统带的浏览器进行用户授权认证的, 具体见:android开发我的新浪微博客户端-用户授权页面功能篇(3.2 ...

最新文章

  1. 招聘|阿丘科技招系统软件与图像算法工程师(内推)
  2. Nat. Mach. Intell. | 集成深度学习在生物信息学中的发展与展望
  3. 中专计算机技术难吗,中专学计算机专业难不难?
  4. 编译内核,busybox,dropbear组装linux小系统
  5. SAP 产品线中写法很接近,容易混淆的几个名称
  6. 艾滋病ppt模板_ppt模板世界艾滋病日ppt模板,艾滋病的防治方法是什么
  7. 合并k个有序链表 python_leetcode第23题-合并K个有序链表
  8. linux tune2fs命令详解
  9. 函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
  10. windows上怎么干净彻底的卸载oracle
  11. mysql error 1130 hy000:Host ‘localhost‘ is not allowed to connect to this mysql server 解决方案
  12. concurrent.futures 使用及解析
  13. c# mvc如何生成excel
  14. 高中信息技术python讲义
  15. 干货 | 基于JMP的方差分析及两两比较的思路与实现
  16. sql未保存文档找回
  17. 2019第一季度工作总结
  18. uniapp中picker及默认组件改国际化
  19. Ajax之三 Ajax服务器端控件
  20. DATE_ADD() 函数使用

热门文章

  1. 【数据挖掘算法竞赛】山东省-公积金贷款逾期预测TOP8 baseline523
  2. 西门子smart plc远程监控应用实例
  3. PHP初级程序员出路
  4. 计算机显示 亮度怎么调整,电脑屏幕亮度调整一直显示怎么办
  5. Underexposed Photo Enhancement using Deep Illumination Estimation阅读札记
  6. 统计独立访客需求mysql_网站流量分析项目day04
  7. 拉勾网爬取失败?试试这一招
  8. 腾讯云-语音指定模板-电话告警通知
  9. Linux 打开文件显示: No such file or directory
  10. 产生式系统Python PySide2的GUI界面