H5与Android和ios的交互
16lz
2021-01-26
背景:H5页面是用uniapp来写的,嵌套在原生APP内,H5页面有一个下载文件的功能,按平时下载功能直接把文件链接写在a 标签的href,点击就会直接下载,但是嵌套在app内这种方法是不起作用的,正确的方法如下
1:跟ios和Android的开发人员商量好,他们那边下载功能给我们提供什么方法,我们这边调用他们的方法就可以了,原理就是点击的时候,把文件地址传给ios和Android,他们拿到地址之后做下载功能
2:当ios和Android的开发人员提供好方法之后,写一个点击事件,点击的时候调用他们的方法,把文件地址传给他们,这里需要区分当前点击的环境时Android还是ios,uniapp提供了一个方法uni.getSystemInfoSync().platform
代码如下:
<text @click="goDownLoad">下载文件text>
goDownLoad(){const url = 'https://xxx.xxx.xx/xx.doc'// 获取当前运行环境 android or iosconst platform = uni.getSystemInfoSync().platformswitch(platform){ case 'android': // JustTest.goDownLoad 是android开发提供的方法 const JustTest = window.JustTest JustTest.goDownLoad(url) break case 'ios': // JustTest.postMessage是ios开发提供的方法 const justTest = window.webkit.messageHandlers.justTest justTest.postMessage({ openUrl:url }) break }}
更多相关文章
- [置顶] android中图片的三级cache策略(内存、文件、网络)之二:内存
- Android获取应用占用空间
- android 一张图片实现 ImageView 实现 点击效果 图片明度变化
- 知乎 Android(安卓)客户端三方库敏感代码扫描机制 - FindDanger
- Android实现View滑动的6种方式
- Java性能调优
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- Android进程与线程[转]
- 基于Gradle支持Android(安卓)Studio的蒲公英自动上传task