一.uniapp开发的app打开第三方应用

uniapp开发的app打开第三方应用,如淘宝,京东,QQ或本地安装好的apk等,并传递相关参数。可以参考此篇,下面这个是我通过uniapp打开本地安装apk,打开前提是必须知道包名。

注意,此处的plus是5+Runtime的内部对象,所以普通浏览器是没有plus运行环境,普通浏览器运行plus api会输出plus is not defined错误,只能通过HBuilder真机运行,打包后或流应用环境下才能运行plus的api。

          // 打开第三方的appopenApp() {if (plus.os.name == 'Android') {// #ifdef APP-PLUSvar appid = plus.runtime.appid;console.log('应用的 appid 为:' + appid);// #endifif (plus.runtime.isApplicationExist({pname: 'com.wetao.sign'})) {plus.runtime.launchApplication({pname: 'com.wetao.sign',extra: {imgurl: 'storage/emulated/0/DCIM/sign/a.png' //传递参数,extra必须是json格式}},function(e) {console.log('Open system default browser failed: ' + e.message);uni.showToast({title: "打开失败了",icon: none})});} else {uni.showToast({title: "apk未安装",icon: "none"})}} },

参考文档:
https://www.jianshu.com/p/57f79fc83233
http://www.manongjc.com/article/113392.html
https://ext.dcloud.net.cn/plugin?id=2448
https://blog.csdn.net/qq285679784/article/details/107838560
https://blog.csdn.net/M_Eve/article/details/106623838
https://www.cnblogs.com/huzhuhua/p/13712415.html
http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.openURL

二.plus调用android原生页面
参考:http://www.bubuko.com/infodetail-3753674.html

         //打开第三方应用平台,plus调用Android原生页面openSign() {if (plus.os.name == 'Android') {if (plus.runtime.isApplicationExist({pname: 'com.wetao.sign'})) {/*** 用setClassName()或者setComponent()来打开外部程序* intent.setClassName(包名, 包名+activity名);*///获取当前的activityvar main = plus.android.runtimeMainActivity();//获取java辅助类var Intent = plus.android.importClass('android.content.Intent');let ComponentName = plus.android.importClass('android.content.ComponentName');let intent = new Intent();intent.setComponent(new ComponentName('com.wetao.sign', "com.wetao.sign.core.MainActivity"))this.currentImg = new Date().getTime();//传递第三方平台参数intent.putExtra("imgurl", `/mnt/sdcard/sign/qianming/${this.currentImg}.png`);main.startActivityForResult(intent, 0);} else {uni.showToast({title: '本机未检测到未安装手写板'})}} else {uni.showToast({title: "只支持安卓系统",icon: none})}},

三.uniapp读取本地本地文件内容

IO模块管理本地文件系统,用于对文件系统的目录浏览、文件的读取、文件的写入等操作。通过plus.io可获取文件系统管理对象.参考:http://www.html5plus.org/doc/zh_cn/io.html

plus.io.resolveLocalFileSystemURL通过URL参数获取目录对象或文件对象,读取设备本地图片文件路径。

     onShow() {//图片文件名this.currentImg = new Date().getTime();plus.io.resolveLocalFileSystemURL(`/mnt/sdcard/sign/qianming/${this.currentImg}.png`, (entry) => {//entry.toLocalURL获取文件路径转为本地路径let localImg = entry.toLocalURL();entry.file((file) => {var fileReader = new plus.io.FileReader();console.log("getFile:" + JSON.stringify(file));fileReader.readAsText(file, 'utf-8');fileReader.onloadend = function(evt) {console.log("11" + JSON.stringify(evt));// console.log("evt.target" + JSON.stringify(evt.target));// console.log(JSON.stringify(evt.target.result));}})}, (e) => {console.log("Resolve file URL failed: " + e.message);})},

四、uni-app清空指定路径下文件夹及内容

         //清空图片的缓存clearPicture() {console.log('清空缓存')var self = thisplus.io.resolveLocalFileSystemURL('/mnt/sdcard/sign/qianming/', function(entry) {entry.removeRecursively(function(entry) { //递归删除其下的所有文件及子目录  console.log("缓存清理完成");}, function(e) {console.log(e.message);});self.showCache();}, function(e) {console.log('文件路径读取失败-可能没文件', e);});},showCache() {plus.io.resolveLocalFileSystemURL('/mnt/sdcard/sign/qianming/', function(entry) { //通过URL参数获取目录对象或文件对象  var fileSize = 0;var directoryReader = entry.createReader();directoryReader.readEntries(function(entries) { //获取当前目录中的所有文件和子目录  for (var i = 0; i < entries.length; i++) {if (entries[i].isFile) {entries[i].file(function(file) {fileSize += (file.size * 0.0009766);}, function(e) {console.log(e.message);});} else {entries[i].getMetadata(function(metadata) {fileSize += (metadata.size * 0.0009766); //1字节=0.0009766kb  }, function() {console.log(e.message);});}}}, function(e) {console.log('文件读取失败');});retrun `${Math.ceil(fileSize)}kb`}, function(e) {console.log('文件路径读取失败');});},

unia-app第三方app调用相关推荐

  1. html5 plus 支付,h5+ app 第三方支付调用步骤

    1 在页面onload中获取支付通道,支付的时候再获取支付通道会浪费用户等待时间: // 获取支付通道 (微信&支付宝) var wxChannel,aliChannel; plus.paym ...

  2. Android 调用第三方 APP

    本文导读 如果想要在 App 1 中调用 App 2 的 Activity1,则操作流程如下: 1)首先被调用的 App 2 中要声明 Activity1 是可以被启动的 或者 Activity 是对 ...

  3. Android调用第三方App Activity

    在App A中调用App B的Activity1.需要做两方面的配置. (1)App B要表明,Activity1是对外可见的,或是可以被启动的Activity. 可在AndroidManifest. ...

  4. uni-app 唤醒调用第三方app并传参(一 显示调用)

    1.离线打包设置 包名:  com.xxx.xxxAPP(其实只需要包名就行) 执行activity:io.dcloud.PandoraEntry 2.调用方代码 //判断app是否存在 if(plu ...

  5. cordova打开文件_Cordova开发App入门(四)打开及下载第三方App

    前言 在开发app时经常会碰到这种需求:我要在A应用中打开B应用,那么用Cordova如何实现呢? 欲知后事如何,且听下回分解...... ... 大大大大佬,别,别打我,我继续写还不行了吗. 本文涉 ...

  6. android 安装第三方app,Android识别预装的第三方App方法实例

    前言 新买一台手机,里面会有很多App,有的属于系统App,不可卸载,有的属于第三方App,厂商会预装一些常用的或者给了他们广告费的App,这些是可以卸载的. 如果要详细划分,系统App还可根据其路径 ...

  7. ionic4 ios打开appstore 跳转第三方app

    ionic4 打开appstore 跳转第三方app 1. 需要用到的插件 (1)检测 APP 是否安装的插件 ionic cordova plugin add cordova-plugin-appa ...

  8. 【WP8】Uri关联启动第三方App

    在WP8中支持启动第三方应用程序,比如在App1中可以打开App2,你可以在你的应用程序中直接打开QQ,也可以让其他开发者调用你的APP,例如:软件盒子 下面演示被调用方和调用方的使用方法,新建两个项 ...

  9. web app 第三方登录-微博登录(一)

    在最近参与的一个android项目中,使用的是web app 的形式,就是android提供容器,但是里面的内容都由H5实现.由于不是原生的app,给集成第三方登录带来一些困难.下面把集成的过程分享下 ...

  10. WebView打开第三方APP

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

最新文章

  1. C语言函数集(十三)
  2. 面试 | 蚂蚁金服面试经历
  3. vue 附件上传获取附近内容_vue实现文件上传功能
  4. 虚拟化运行[OpenStack] VMWare产品介绍
  5. 新年立个小目标!代码写得更规范!
  6. android 定义固定数组,Android 图片数组定义和读取
  7. Android Q 不叫 Q,正式命名为 Android 10
  8. 写markdown用vscode的插件Markdown Preview Enhanced
  9. 你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问
  10. 小项目--猜年龄游戏
  11. LQR控制算法及matlab/simulink仿真
  12. 【Matlab】建立最优控制LQR控制器模型
  13. OS | 【四 文件管理】强化阶段大题解构 —— FAT文件系统、UFS文件系统访问文件过程
  14. win10开启无线网卡服务器,Win10笔记本电脑无线网卡 教你如何开启Win10笔记本内置无线网卡...
  15. (转帖)Spring循环依赖的解决办法
  16. win7正在配置请勿关闭计算机,win7系统开机屏幕显示“正在配置Windows Update,请勿关机”的解决方法...
  17. CSDN使用Markdown编辑器
  18. android 自动锁屏设置,如何才能使安卓手机不自动锁屏?改成自动黑屏,谢谢
  19. 使用C语言链表实现商品管理系统
  20. oracle9i升级oracle10g

热门文章

  1. 移动互联网世代的焦虑,来自对科技范式转移视而不见
  2. H3C路由器交换机配置sflow
  3. 解决远程桌面背景变黑的问题
  4. 功能强大,颜值在线的个人笔记应用 - Notion
  5. 工作室多wifi软路由工作室Ros软路由使用教程
  6. C++自带string类的常用方法
  7. MySQL数据库_(学生_教师_课程_成绩)表_练习
  8. 数据技术-分析报告如何写
  9. Web网站模板-餐厅饭店宣传响应式网站模板(HTML+CSS+JavaScript)
  10. ASCII码和汉字码