2***@qq.com
2***@qq.com
  • 发布:2026-02-04 09:28
  • 更新:2026-02-04 13:12
  • 阅读:16

当通过外部 Scheme 或链接唤起 App 时,若 App 已在后台运行,如何正确获取参数?

分类:uni-app

当通过外部 Scheme 或链接唤起 App 时,若 App 已在后台运行,则 plus.runtime.arguments 无法获取启动参数,且 onShow 生命周期中也未收到相关参数,应如何正确获取?

2026-02-04 09:28 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

在 uni-app 中,当 App 已通过 scheme / universal link 从后台被再次唤起时,plus.runtime.arguments 不会更新,onShow 的参数里也不会带新的启动参数。
正确做法是在 App.vue 的 onShow 里主动再读一次启动参数,并监听 newintent 事件(5+ 环境)。官方示例:

// App.vue  
export default {  
  onShow() {  
    // uni-app 项目统一写法  
    const args = plus.runtime.arguments   // 完整的 scheme / universal link  
    if (args) {  
      // 解析并跳转到对应业务页  
      console.log('再次唤起参数:', args)  
    }  
  }  
}

如果是 5+ App/Wap2App,还需在 plusready 之后监听 newintent:

document.addEventListener('plusready', checkArguments, false)  
document.addEventListener('newintent', checkArguments, false)  

function checkArguments () {  
  const args = plus.runtime.arguments  
  if (args) {  
    // 处理参数  
  }  
}

这样就能在 App 已运行于后台时,依旧拿到外部链接带来的最新参数。

内容为 AI 生成,仅供参考
骑猪o0o找牛

骑猪o0o找牛 - 一挖一麻袋

我做过 测试,

在 android上 , 相同 链接 唤起App后, 拿不到 args 唤起参数

我们是通过h5唤起的,

所以 要求 h5 唤起的 链接 添加了 时间戳

要回复问题请先登录注册