热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vue获取安卓原生方法_vue与原生混合开发如何与原生安卓,IOS交互

前言介绍使用WebViewJavascriptBridge当H5页面与安卓端交互比较复杂时,比如页面需要获取安卓端传回的返回值,或者安卓端需要调用js方

前言介绍

使用 WebViewJavascriptBridge当 H5 页面与 安卓 端交互比较复杂时,比如页面需要获取 安卓 端传回的返回值,或者 安卓 端需要调用 js 方法。可以通过第三方库来实现,   我的项目用的是 WebViewJavascriptBridge

1.创建 src/config/bridge.js 文件,用于封装 WebViewJavascriptBridge

2.将以下代码拷贝到 bridge.js 文件中

function setupWebViewJavascriptBridge(callback) {

if (window.WebViewJavascriptBridge) {

return callback(window.WebViewJavascriptBridge)

}

if (window.WVJBCallbacks) {

return window.WVJBCallbacks.push(callback)

}

window.WVJBCallbacks = [callback]

let WVJBIframe = document.createElement('iframe');

WVJBIframe.style.display = 'none'

WVJBIframe.src = 'https://__bridge_loaded__'

document.documentElement.appendChild(WVJBIframe);

setTimeout(() => {

document.documentElement.removeChild(WVJBIframe)

}, 0)

}

export default {

callhandler(name, data, callback) {

setupWebViewJavascriptBridge(function (bridge) {

bridge.callHandler(name, data, callback)

})

},

registerhandler(name, callback) {

setupWebViewJavascriptBridge(function (bridge) {

bridge.registerHandler(name, function (data, responseCallback) {

callback(data, responseCallback)

})

})

}

}

3.在 main.js 中引入该文件

import Bridge from './config/bridge.js'

Vue.prototype.$bridge = Bridge

4.然后调取你想要的方法,也就是安卓或则IOS给你写的方法(事先需要与客户端同事约定好方法名)

this.$bridge.callhandler('方法名', params, (data) => { // 处理返回数据})

以下为我的代码

5.这样就可以调到安卓或则IOS给你写的方法了

6.安卓或IOS调你的JS方法

this.$bridge.registerhandler('JS Echo', (data, responseCallback) => { alert('JS Echo called with:', data) responseCallback(data)})

7.打包 最关键的一步  ,因为你现在运用了iOS和安卓给你提供的方法 ,所以打包时 ,也需要把他们 的代码集成在一起打包进去,这时  用简单的Hbuilder打包肯定不行了,如果是安卓端的话就需要用android studio打包了 把vue npm ru build出来的dist目录中的index.html放这里

同时注意这里也要改动

这布具体问安卓开发,因为我不是专业安卓开发

写的不是详细



推荐阅读
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 嵌套函数定义时先判断function_exists防止递归调用外部函数导致两次定义内部函数导致致命错误看一下PHP手册中是如何说的: ... [详细]
  • jquery定时器调用函数时传参varli$(.firstli:first-child);varindex0;vars$(.firstli);functiongundong(a ... [详细]
  • 作者一直强调的一个概念叫做oneloopperthread,撇开多线程不谈,本篇博文将学习,怎么将传统的IO复用pollepoll封装到C++类中。1.IO复用复习使用p ... [详细]
  • php将unicode转utf8的方法:首先创建PHP代码示例文件;然后使用json_encode(汉来源gaodai#ma#com搞@@代~&码网字,JSON_UNESCA ... [详细]
  • IE下使用jQuery重置iframe地址时内存泄露问题解决办法
    IE下使用jQuery重置iframe地址时内存泄露问题解决办法:页面中有个iframe:代码如下:测试IFRAME泄露其中a.html ... [详细]
  • 重学前端学习笔记(十八)JavaScript的闭包和执行上下文
    笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的可以加 ... [详细]
  • 使用parent.xadmin.add_tab()方法打开新的标签页重点是这个parent,折磨了我一下午,原来是没有搞清应该从父页面打开。最开始的xa ... [详细]
author-avatar
手机用户2502941011
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有