uni-app plus.runtime.arguments 获取参数问题失败

uni-app plus.runtime.arguments 获取参数问题失败

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win10

HBuilderX类型:正式

HBuilderX版本号:3.2.2

手机系统:Android

手机系统版本号:Android 10

手机厂商:华为

手机机型:mate30 4G

页面类型:vue

打包方式:云端

示例代码:

onLaunch中监听newintent
this.checkArguments();  
plus.globalEvent.addEventListener('newintent', e => {  
    this.checkArguments(); // 检测启动参数  
});  

checkArguments() {  
    this.$utils.msg('runtime.launcher: ' + plus.runtime.launcher)  
        setTimeout(() => {  
            this.$utils.msg('runtime.arguments: ' + plus.runtime.arguments)  
        }, 5000)  
}

操作步骤:

onLaunch中监听newintent首次安装,launcher:default,获取参数失败,杀掉进程之后,再次打开app就可以回去成功

预期结果:

onLaunch中监听newintent首次安装,launcher:default,获取参数失败,杀掉进程之后,再次打开app就可以回去成功

实际结果:

onLaunch中监听newintent首次安装,launcher:default,获取参数失败,杀掉进程之后,再次打开app就可以回去成功

bug描述:

uni-app plus.runtime.arguments 获取参数问题,为啥app 第一次安装启动,在微信里唤醒打开app, plus.runtime.arguments 是没有参数的,必须要先杀掉app,这时候在打开就能获取到参数了


更多关于uni-app plus.runtime.arguments 获取参数问题失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

iOS 是否正常?

更多关于uni-app plus.runtime.arguments 获取参数问题失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个已知的Android平台原生层限制问题。首次安装后通过外部链接(如微信)启动应用时,系统会将启动参数传递给应用,但此时应用进程尚未完全初始化,导致plus.runtime.arguments无法立即获取到参数。

你的代码实现方式是正确的,通过newintent事件监听后续参数变化。首次安装后参数获取失败是系统级行为,并非代码缺陷。

建议在应用启动时增加延迟检测机制,例如:

setTimeout(() => {
    this.checkArguments();
}, 1000);
回到顶部