我们在开发 App 应用中,经常会遇到打开第三方程序的场景,比如打开手机淘宝、通过第三方浏览器打开一个 url 等等。
详细见官方文档:https://ask.dcloud.net.cn/article/35621

1. H5调用第三方APP

需要知道第三方app的scheme,使用apktool 反编译 apk 得到AndroidManifest.xml 文件,再查找 scheme ,详见文章最后。

btnwx() {
	console.log("微信小程序");
	window.location.href = 'weixin://dl/business/?t=xxxxxxxx' //进入微信公众平台获取URL Scheme
	
},

btnzfb() {
	console.log("支付宝小程序");
	window.location.href=" alipays://platformapi/startapp?appId=2021002158616517&page=pages/index/index ";
},

btnnwzx() {
	console.log("南网在线");				
	window.location.href = 'com.csg.palmhall://';
	setTimeout(function(){
		let hidden = window.document.hidden || window.document.mozHidden || window.document.msHidden ||window.document.webkitHidden 
		if(typeof hidden =="undefined" || hidden ==false){
			//打开应用宝下载app
			window.location.href =" https://a.app.qq.com/o/simple.jsp?pkgname=com.csg.palmhall&info=B50734893732C01B00F45AA098786D57 ";
		}
	}, 3000);
},

进入微信公众平台获取URL Scheme步骤。
在这里插入图片描述

2. 调用第三方安卓APP

需要用到第三方app的包名package ,使用apktool 反编译 apk 得到AndroidManifest.xml 文件,再查找 package 。

//调用微信小程序
btnwx() { 					
	plus.runtime.openURL("weixin://dl/business/?t=RyFUbrrJcyb") //直接打开小程序主页
	//plus.runtime.openURL("https://95598.csg.cn/ucs/sr/minipage/miniToCenter.html")  //调用网页跳转到小程序,这种方式比较慢
},

//调用支付宝小程序
btnzfb(){				
	uni.getSystemInfo({
		success(res) {
			if(res.platform == 'android') {
				plus.runtime.openURL("alipays://platformapi/startapp?appId=2019070265762435&page=pages/index/index")
			}
		}
	})
	
},

//打开第三方app
btnnwzx() {
	console.log("南网在线");
	//判断app是否存在
	if (plus.runtime.isApplicationExist({pname: 'com.csg.palmhall'})) {
		console.log("该app已安装")
		//调用第三方app
		plus.runtime.launchApplication({
				pname: "com.csg.palmhall",
				action: "com.dianyou.sdk.operationtool.DyWebActivity",
				extra: {
					useraccount: "00",
				} //传递的参数
			},
			function(e) {
				console.log("e", e)
				uni.showToast({
					title: "打开失败",
					icon: "none"
				})
			}
		)
	} else {
		uni.showToast({
			title: "app未安装",
			icon: "none"
		})
		//跳转到下载页面
		plus.runtime.openURL('https://a.app.qq.com/o/simple.jsp?pkgname=com.csg.palmhall&info=B50734893732C01B00F45AA098786D57', function(res) {
			console.log(res)  
		})	
	}
},

3. 反编译 apk

需要使用 apktool 工具反编译 .apk 得到 AndroidManifest.xml 文件

apktool下载 : https://connortumbleson.com/apktool/

apktool使用:把 apktool.jar 与 .apk 文件放在同一个文件夹 ,按着 shift 键右击鼠标 ,单击【在此处打开命令窗口】
在这里插入图片描述

输入命令 : java -jar apktool.jar d -f xxx.apk
把 xxx 改为实际的名称
在这里插入图片描述

反编译中
在这里插入图片描述

编译完成后,在当前文件夹生成 AndroidManifest.xml 文件。
在这里插入图片描述

查找 package
在这里插入图片描述

查找 scheme
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐