收藏
回答

小程序倒计时熄灭屏幕后再打开,倒计时不准确

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 小程序显示到前台时候的事件 客户端 最新版 最新版

- 需求的场景描述(希望解决的问题):问题主要是自己开发的倒计时组件中,当页面正在倒计时,用户有很大几率会切出去看其他内容,然后等待倒计时即将结束的1,2分钟,才返回查看,或者,用户熄灭屏幕等待。此时!当小程序会暂停倒计时,导致用户切换回来,或者解锁屏幕,倒计时不准确。


- 希望提供的能力:真的不好意思,我组织过了一次语言,刚才说的让大家误解了,我其实意思是,想要一个API判断,小程序在前台且刚好熄灭屏幕后再打开。或者提供一个熄灭屏幕的API。





最后一次编辑于  2018-12-04
回答关注问题邀请回答
收藏

5 个回答

  • 望烁
    望烁
    2021-07-16

    楼主解决了吗?

    2021-07-16
    有用
    回复
  • 1024
    1024
    2018-12-05

    假设返回的倒计时是2分钟,那么计算出2分钟后的时刻,倒计时计算距离这个时刻还有多久,就可以解决这个问题了: 假设:倒计时120s,当前时刻是2018/12/05 17:11:00,那么2018/12/05 17:13:00,倒计时结束 setInterval(function() {    downTime = new Date('2018/12/05 17:13:00').getTime() - new Date().getTime() })

    2018-12-05
    有用
    回复
  • 顺德职业技术学院
    顺德职业技术学院
    2018-12-04

    这个现象很正常,每台设备的情况都不一样的,大部分手机为了节省内存和能耗,把程序切到后台之后,是自动暂停了程序的运行的,只保留基本功能,这是手机厂商系统设定的,例如王者荣耀为啥切到后台,一段时间之后再切到前台就说网络中断重新连接就是这个原因。

    这种情况建议监听页面隐藏onHide,记录下当前时间戳,监听onShow时重新计算前后记录的时间差,重置定时器。

    2018-12-04
    有用
    回复 2
    • 胖东
      胖东
      2018-12-04

      熄灭屏幕试过了,无法触发onHide

      2018-12-04
      回复
    • 顺德职业技术学院
      顺德职业技术学院
      2018-12-04

      ios有时候的确无法监听,也可以这样,定时器每倒计时1s,你就setData时间戳一次,不管设备什么暂停了,onShow总会触发吧?出发的时候就计算时间差重置定时器

      2018-12-04
      回复
  • 管凯旋
    管凯旋
    2018-12-04

    onshow?

    2018-12-04
    有用
    回复 8
    • 胖东
      胖东
      2018-12-04

      是熄灭屏幕,真机模拟时候,无法触发onShow,切换是可以的,已处理掉了。

      2018-12-04
      回复
    • 管凯旋
      管凯旋
      2018-12-04回复胖东

      不可能啊,你什么手机?

      2018-12-04
      回复
    • 胖东
      胖东
      2018-12-04回复管凯旋

      xs max。你那儿熄灭屏幕可以触发onShow???

      2018-12-04
      回复
    • 胖东
      胖东
      2018-12-04回复管凯旋

      熄灭屏幕后再解锁,能触发onshow吗?

      2018-12-04
      回复
    • 管凯旋
      管凯旋
      2018-12-04回复胖东

      大佬大佬,我手机可以触发onshow的

      2018-12-04
      回复
    查看更多(3)
  • 拾忆
    拾忆
    2018-12-04

    onShow的时候重新计算下

    2018-12-04
    有用
    回复 1
    • 胖东
      胖东
      2018-12-04

      是熄灭屏幕,真机模拟时候,无法触发onShow

      2018-12-04
      回复
登录 后发表内容