uniapp唤醒第三方应用并传递参数,vue通用

10 篇文章 0 订阅
  1. 查看APP包名
  2. 检测APP是否安装
  3. 唤醒APP并传递参数
  4. 接收其他APP传递的参数


一、查看APP包名

应用名称: Package Names Viewer

链接:https://pan.baidu.com/s/1Dufr-pNnU4vXfQ_2A7VcbA
提取码:bafm
在这里插入图片描述

示例:以查看QQ为例 包名:com.tencent.mobileqq
启动类:com.tencent.mobileqq.activity.SplashActivity

代码注意事项:需要在真机运行,否是在浏览器会出现
plus is not defined
建议使用

// #ifdef APP-PLUS

// #endif

示例:Android平台需要通过设置appInf的pname属性(包名)进行查询。 iOS平台需要通过设置appInf的action属性(Scheme)进行查询,在iOS9以后需要添加白名单才可查询,在manifest.json文件plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:[“weixin”]).

二、检测APP是否安装以QQ为例

代码如下(示例):
plus.runtime.launchApplication( appInf, errorCB )
appInf 配置参数
errorCB 错误回调

//会返回Boolean true 手机上存在要检测的APP,false为不存在
const isApp =  plus.runtime.isApplicationExist({pname: 'com.tencent.mobileqq'});

if(isApp){
	//已安装
}else{
	// 没有安装
}

三、唤醒第三方应用以QQ为例

代码如下(示例):



const isApp =  plus.runtime.isApplicationExist({pname: 'com.tencent.mobileqq'});

if(isApp){
	//已安装
	plus.runtime.launchApplication( {
							pname: "com.tencent.mobileqq",
							action: "com.tencent.mobileqq.activity.SplashActivity",
						}, (e)=>{
						console.log("e", e)
						})
	
}else{
	// 没有安装
}

该处使用的url网络请求的数据。


四、uinapp唤醒uniapp 并传递参数(以自定义基座为例,唤醒自己)

代码如下(示例):唤醒并且传递参数还是使用 plus.runtime.launchApplication(appInf,err) 函数 其中appInf 对象的extra key 为传递到其他引用参数,传递必须为对象

			if (plus.runtime.isApplicationExist({pname: 'io.dcloud.HBuilder'})) {
				
					let senddata = {"uid":136523,"username":"dy13","nickname":"缎玉13","mobile":"","email":"dy@vidycoin.cloud","avatar":null}
					
					//调用第三方app
					plus.runtime.launchApplication({
							pname: "io.dcloud.HBuilder",
							action: "io.dcloud.PandoraEntry",
							extra: senddata //传递的参数
						},
						(e)=> {
							uni.showToast({
								title: "打开失败",
								icon: "none"
							})
						},
					);
				} else {
					// 没有安装
				}

五 接收其他APP传递过来的参数

代码如下(示例): 第三方程序调用时传递给程序的参数 plus.runtime.arguments

Android - 2.2+ (支持) :
如果是第三方APP调用,则把传递过来的参数组合成JSON格式字符串,如“{“name”:“XiaoMing”,“password”:“123456”}”; 如果是通过URL Scheme调用则将协议头(前缀)和参数组合成字符串,如“streamapp://name=XiaoMing&password=123456”。

iOS - 4.3+ (支持) :
把第三方传递过来的参数组合成字符串,如“name=XiaoMing&password=123456”,建议第三方程序传递JSON格式字符串; 注:由于iOS平台原生传递参数与URL Scheme一致,通过URL Scheme启动应用时也没有协议头数据(前缀)。

JSON.stringify(plus.runtime.arguments)

在这里插入图片描述

总结

使用plus 开始的方法需要条件编译否则会在h5端出错,
如果在uniapp 里面使用不需要注册对应的事件
在vue 中使用也必须在真机里面使用,所有的plus开始的函数必须要通过window.plus.xxx

  • 29
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniapp是一种基于Vue.js开发的跨平台应用框架,可以让我们在一个代码库中同时开发iOS、Android和Web应用。在uniapp中引入第三方SDK是为了扩展应用的功能,让应用能够调用第三方SDK提供的服务或者使用第三方SDK提供的组件。 在uniapp中引入第三方SDK的步骤如下: 1. 下载并导入SDK:首先,我们需要从第三方SDK的官方网站或者开发者平台上下载SDK的安装包。然后,在uniapp的项目中创建一个用于存放第三方SDK文件的目录,并将SDK相关的文件复制到该目录中。 2. 注册SDK的AppKey:一些第三方SDK在使用前需要先注册一个AppKey,并在应用启动时进行初始化。我们需要根据SDK的要求,将AppKey在uniapp的配置文件中进行配置,以便SDK能够正确地识别和使用。 3. 调用SDK的接口:一旦SDK配置完毕,我们就可以在uniapp的页面或者组件中调用SDK提供的接口了。根据SDK的文档或者示例代码,我们可以调用不同的接口实现具体的功能,比如发送消息、支付、分享等。 需要注意的是,由于uniapp是跨平台框架,不同平台对第三方SDK的支持程度可能会有所差异。在引入和使用第三方SDK的过程中,我们需要查阅对应平台的文档和示例代码,确保SDK能够在目标平台上正常使用。 总之,通过在uniapp中引入第三方SDK,我们可以为应用增加更多的功能和特性,丰富用户体验。同时,我们需要遵循SDK的文档和要求,正确地进行配置和调用,以确保SDK能够正常工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值