ios中是不是有任何类型的部分唤醒锁定机制?
Posted
技术标签:
【中文标题】ios中是不是有任何类型的部分唤醒锁定机制?【英文标题】:Is there any type of partial wake lock mechanism in ios?ios中是否有任何类型的部分唤醒锁定机制? 【发布时间】:2013-12-14 05:51:32 【问题描述】:在 android 中,如果您持有部分唤醒锁定,CPU 将继续运行,无论显示超时或屏幕状态如何,甚至在用户按下电源按钮后也是如此。在所有其他唤醒锁中,CPU 将运行,但用户仍然可以使用电源按钮使设备进入睡眠状态。 ios中是否有这样的机制?当设备处于锁定屏幕时,CPU 将继续运行并检测手势和传感器。
【问题讨论】:
相关***.com/questions/10674004/… 【参考方案1】:没有。为了延长电池寿命,Apple 故意不提供和隐藏此功能。唯一允许这样做的后台模式是 VOIP 和定位服务,您的应用程序基本上总是在后台执行并且设备不会进入睡眠状态(但屏幕可以关闭)。为了防止滥用这些后台模式,Apple 审核人员对在其 plist 文件中指定这些模式的应用程序更加严格,以确保应用程序确实需要这些模式。
如果你打算做一个企业级应用,不会去应用商店,当然可以使用这些模式,以及私有API,来实现你想要的。
【讨论】:
【参考方案2】:物有所值,
当设备相机处于预览状态时,屏幕不会进入睡眠状态。
也许是一个可用的类似 WAKELOCK 的选项立即使用。
【讨论】:
【参考方案3】:如果有人仍在搜索,我找到了一种方法来防止应用程序进入睡眠状态,方法是将 isIdleTimerDisabled 设置为 true。它会关闭检测手机应该进入睡眠时间的计时器。
UIApplication.shared.isIdleTimerDisabled = true
现在,如果您想在特定时间点将其关闭,您也可以尝试使用计时器再次将其设置为 false。例如,如果你想在 3 分钟后关闭它,你可以这样做:
let _ = Timer.scheduledTimer(withTimeInterval: 180, repeats: false) (Timer) in
UIApplication.shared.isIdleTimerDisabled = false
【讨论】:
以上是关于ios中是不是有任何类型的部分唤醒锁定机制?的主要内容,如果未能解决你的问题,请参考以下文章