会导致小程序onhide码 手机息屏_小程序onshow事件

问题描述

onShow 事件在小程序里面非常重要,场景之多,导致处理起来很复杂。很多业务场景依赖与onShow与onHide事件。比如分享给他人,在群里PK等等。

息屏,新页面返回、Home键操作,也会触发onShow事件。

以下是官网的说明:

Tip: 由于Android系统限制,目前还无法获取到按 Home 键退出到桌面,然后从桌面再次进小程序的场景值,对于这种情况,会保留上一次的场景值。

ios也对齐了这一点,所以,单靠场景值scene是无法区分上面三种场景触发的onShow,通过log发现还是有些不同。

真正不同的地方是:

从息屏,新页面返回、Home键操作这三种场景触发的onshow返回的参数是会把query参数清空。

所以这样一来,就能够真正的区分,这样逻辑就不会乱。这种hack方式不知道是不是小程序的一个bug,暂时可以避免这种问题。

案例

我在玩一个小游戏,分享到群里PK好友。

分享的query参数:from=pk

好友从群里打开:

wx.onshow(res => {

if(res.scene === 1044){

if(res.query.from){

// show pk UI

}else{

// todo nothing

}

}

})

如果是正常onshow逻辑,那么from就会为pk,而息屏再亮起后则query为undefined。因此就不会再次show pk UI。

本文为原创文章,可能会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,谢谢合作

想要打赏?你的鼓励是我前进的动力!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值