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
这是一个已知的Android平台原生层限制问题。首次安装后通过外部链接(如微信)启动应用时,系统会将启动参数传递给应用,但此时应用进程尚未完全初始化,导致plus.runtime.arguments无法立即获取到参数。
你的代码实现方式是正确的,通过newintent事件监听后续参数变化。首次安装后参数获取失败是系统级行为,并非代码缺陷。
建议在应用启动时增加延迟检测机制,例如:
setTimeout(() => {
this.checkArguments();
}, 1000);


