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

2022-09-05 09:16:03 +08:00
 OkabeRintaro

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

2154 次点击
所在节点    程序员
8 条回复
PrtScScrLk
2022-09-05 09:23:28 +08:00
setTimeout 以后调用 plus 的关闭应用 or 重启应用 plus.runtime

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

触发这个钩子以后加个定时器然后销毁组件吧
yuuko
2022-09-05 10:19:00 +08:00
这个貌似是 safari 的 bug ,之前也有人报告过,当代 IE
okakuyang
2022-09-05 13:52:14 +08:00
这个有点像典型的安全区问题,webview 会根据安全区行为调整整个视口的高度。没接触过 uniapp 不好说。
nekochyan
2022-09-05 14:37:44 +08:00
我记得之前是直接调用原生方法,里面直接调用 abort();就可以了
OkabeRintaro
2022-09-05 15:34:55 +08:00
@horseInBlack 可以杀掉整个应用吗? 想要应用级的 不是组件级的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877715

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX