防止 Apple Watch 关闭屏幕

Posted

技术标签:

【中文标题】防止 Apple Watch 关闭屏幕【英文标题】:Prevent Apple Watch from turning off the screen 【发布时间】:2015-04-07 15:09:17 【问题描述】:

我正在为 Apple Watch 编写一个扩展程序,其目的是引导用户完成一系列步骤。我没有手表来测试扩展程序,但我需要确保屏幕一直亮着,直到完成所有步骤。

有没有人可以告诉我 Apple Watch 显示屏何时关闭,或者是否有任何方法可以防止显示屏关闭(类似于 ios 中 UIApplication 的 idleTimerDisabled)?

【问题讨论】:

【参考方案1】:

目前无法以编程方式阻止显示屏关闭。否则,我们可以推测,只要用户在与您的应用交互,屏幕就会一直亮着。最坏的情况是,当应用暂停时您会收到一个 didDeactivate,当用户唤醒它以继续时您会收到一个 willActivate(假设 Watch 应用在两者之间没有终止)。

【讨论】:

有关 WatchKit 控制器生命周期的更多详细信息:blog.mikeswanson.com/post/118262770484/…【参考方案2】:

从 watchOS 4 开始,您可以使用此布尔值来保持显示屏打开,这将在转动手臂时旋转 UI。

https://developer.apple.com/documentation/watchkit/wkextension/2868464-isautorotating

【讨论】:

不幸的是,这并不能真正保持显示。它只适用于某个角度(非常小)。对我来说没有帮助 我发现它确实保持打开状态,但我同意这个角度很尴尬,但就我而言,我显示的是一个 QR 码,它可以在任何方向用于扫描。【参考方案3】:

考虑HKWorkout

它确保您的应用在用户查看手表时出现

https://developer.apple.com/documentation/healthkit/workouts_and_activity_rings

【讨论】:

以上是关于防止 Apple Watch 关闭屏幕的主要内容,如果未能解决你的问题,请参考以下文章

即使 Apple Watch 屏幕关闭,也能访问锻炼数据

尝试在屏幕关闭时让 Apple Watch 计时器应用程序在后台运行

如何在 Apple Watch 模拟器中滚动 [关闭]

如何在Mac上安装Apple Watch屏幕保护程序

Apple Watch:从基于页面的导航显示模式屏幕后,状态栏不可见

Apple Watch 应用程序的应用程序图标