• 请不要在回答技术问题时复制粘贴 AI 生成的内容
OkabeRintaro
V2EX  ›  程序员

一个 uniapp 项目,想在切入后台的时候,主动关闭应用,请问...

  •  
  •   OkabeRintaro · Sep 5, 2022 · 2981 views
    This topic created in 1530 days ago, the information mentioned may be changed or developed.

    请问下,目前在做一个 uniapp 项目,有个 bug: 就是苹果 App 端,当应用挂在后台一段时间之后,底部的导航栏会突然往上悬浮一些距离,非常离谱,但是定位不到问题原因所在,这个问题也只有苹果端出现了,所以想着在应用挂到后台超过某段时间之后,直接主动关闭应用....... 怎么样才可以实现呢?

    8 replies  •  2022-09-05 15:34:55 +08:00
    PrtScScrLk
    PrtScScrLk
    Sep 5, 2022
    1
    setTimeout 以后调用 plus 的关闭应用 or 重启应用 plus.runtime

    https://www.html5plus.org/doc/zh_cn/runtime.html
    DCELL
    DCELL
    Sep 5, 2022
    2
    我琢磨着,这应该也是一个 H5 吧,用 safari 调试下样式不就知道了?
    marcong95
    marcong95
    Sep 5, 2022
    3
    iOS 端理论上好像 app 是不能干涉应用关闭的。如果是用页面的自绘导航栏的话,有条件建议换成原生的。uniapp 的页面高度好像有 bug ,如果确实不方便换成原生导航栏,你可以在启动时记录一个屏幕高度,然后用 top: xxx 这种做绝对定位,别用 bottom: 0 这种
    horseInBlack
    horseInBlack
    Sep 5, 2022
    4
    uni-app 生命周期里有个应用隐藏到后台的生命周期钩子 onHide
    https://zh.uniapp.dcloud.io/collocation/App.html#applifecycle

    触发这个钩子以后加个定时器然后销毁组件吧
    yuuko
    yuuko
    Sep 5, 2022❤️1
    5
    这个貌似是 safari 的 bug ,之前也有人报告过,当代 IE
    okakuyang
    okakuyang
    Sep 5, 2022
    6
    这个有点像典型的安全区问题,webview 会根据安全区行为调整整个视口的高度。没接触过 uniapp 不好说。
    nekochyan
    nekochyan
    Sep 5, 2022
    7
    我记得之前是直接调用原生方法,里面直接调用 abort();就可以了
    OkabeRintaro
    OkabeRintaro
    OP
    Sep 5, 2022
    8
    @horseInBlack 可以杀掉整个应用吗? 想要应用级的 不是组件级的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2208 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:50 · PVG 18:50 · LAX 02:50 · JFK 05:50
    ♥ Do have faith in what you're doing.