uniapp 打开第三方APP

我们在开发 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
在这里插入图片描述

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp开发中,如果需要打开第三方平台的应用程序,可以使用plus.runtime.launchApplication方法。具体的代码示例如下: ```javascript console.log("打开第三方APP"); let _this = this; // 判断平台 if (plus.os.name == 'Android') { plus.runtime.launchApplication({ pname: data.vo //app包名 }, function(e) { console.log('APP打开成功: ' + e.message); }); } else if (plus.os.name == 'iOS') { plus.runtime.launchApplication({ action: 'taobao://' //填写第三方应用的scheme }, function(e) { console.log('打开成功: ' + e.message); }); } ``` 请注意,Android平台需要传入第三方应用的包名(pname),而iOS平台需要传入第三方应用的scheme(action)。具体的包名和scheme需要根据实际情况进行填写。\[2\] 另外,在使用uni.login方法进行谷歌登录之前,需要先在谷歌开发者控制台上创建一个项目,并将项目的客户端ID配置到应用程序中。具体的配置方法可以参考谷歌开发者控制台的文档。\[3\] #### 引用[.reference_title] - *1* [uniapp 打开第三方APP](https://blog.csdn.net/weixin_38946164/article/details/119735200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [UNI-APP 打开第三方APP方法](https://blog.csdn.net/weixin_38483239/article/details/119782143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [uniappAPP项目第三方登录之谷歌登录](https://blog.csdn.net/liu0218/article/details/130684259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值