收藏
回答

wx.onAppShow 从后台进入小程序的场景值一直不变?

使用wx.onAppShow打印场景值

举例1:假如从下拉栏取到的场景值是1089,将小程序最小化,然后从手机的任务列表里(手机屏幕向上滑的多任务列表界面 )选中小程序,会发现打印的一直会是1089

举例2:假如从其他小程序返回本小程序取到的场景值是1038,将本小程序最小化,然后从手机的任务列表里(手机屏幕向上滑的多任务列表界面)选中小程序,会发现打印的一直会是1038

在没有切换打开方式的情况下,再次从 应用后台 进入小程序,返回的场景值会一直不变。

所以每次从后台进入小程序的场景值都是属于上次打开小程序的场景值。这算是bug吗。

回答关注问题邀请回答
收藏

4 个回答

  • jiabin-留言
    jiabin-留言
    06-05

    您后来怎么调整逻辑的,感觉是bug...很难绕过去。

    扫普通二维码有扫码时间戳还能判断。

    其他启动方式包括小程序码、短链等没有携带其他参数,然后热启动就无法区分是从后台唤起还是用户重复扫码,有时候切换页面了仍然不会更新onShow的参数(场景值、参数等都和扫码完全一样),有时候切换几次页面后就正常了,不知道明确的机制。

    06-05
    有用
    回复
  • 21.0975
    21.0975
    2024-12-25

    遇到同样的问题问题 可以在上一个小程序的跳转参数中添加时间戳 然后本小程序判断如果时间戳是否有更新 有更新才处理没更新则不处理

    2024-12-25
    有用
    回复
  • H1HAO 🇨🇳
    H1HAO 🇨🇳
    2024-05-23
    你是怎么获取的场景值,这里分首次的场景值和热启动的场景值变更
    wx.getLaunchOptionsSync() 首次
    wx.getEnterOptionsSync() 当前
    
    2024-05-23
    有用
    回复 1
    • 一三得三
      一三得三
      2024-05-23
      wx.onAppShow返回的,应该属于热启动。(App.onShow一致),而且主要是我从别的小程序返回的,携带的referrerInfo,我从后台重新进referrerInfo也是不变的(先从别的小程序返回一次)。
      2024-05-23
      回复
  • hello world
    hello world
    2024-05-22

    不是bug

    2024-05-22
    有用
    回复 1
    • 一三得三
      一三得三
      2024-05-23
      谢谢,调整下逻辑算了
      2024-05-23
      回复
登录 后发表内容