使 iPad 屏幕关闭,但通过触摸唤醒(无锁定) - - iOS 6.0 / openFrameworks
Posted
技术标签:
【中文标题】使 iPad 屏幕关闭,但通过触摸唤醒(无锁定) - - iOS 6.0 / openFrameworks【英文标题】:make iPad screen turn off, but wake up with a touch (no lock) - - iOS 6.0 / openFrameworks 【发布时间】:2012-11-04 21:27:56 【问题描述】:在 iPad ios 6.0 上,如何使屏幕进入睡眠状态,或者以某种方式禁用图形以保持屏幕寿命,但 iPad 没有锁定,也没有必要按下按钮。相反,当触摸屏幕时,iPad 会完全唤醒,程序恢复并继续在屏幕上运行。
我了解当 iPad 真正进入睡眠状态时,触控功能无法正常工作,那么是否有中间睡眠模式,屏幕会关闭所有像素亮度,但仍对任何触控通知保持警觉?
【问题讨论】:
【参考方案1】:您需要阻止“真正的”锁定机制,这可以使用您的 UIApplication
实例的 setIdleTimerDisabled:
方法来完成。
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
然后您可以使用共享的UIScreen
实例的setBrightness:
方法降低屏幕亮度。
[[UIScreen mainScreen] setBrightness:0.0f];
要“解锁”屏幕,请执行相反的操作:
[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
[[UIScreen mainScreen] setBrightness:1.0f];
【讨论】:
太好了,非常感谢。但是,我对 iOS 项目非常陌生,所以我不确定将这些代码行放在哪里。我的 XCode 项目基于一个 openFrameworks 示例项目。您能否就我需要将这些放在 OF 项目中的什么位置提供任何建议? 您可以在代码中的任何位置调用这些函数。因此,请确定要执行锁定和解锁步骤的位置,然后将其放在那里。【参考方案2】:用黑色的uiview覆盖一切,使用
[[UIScreen mainScreen] setBrightness:0.0];
将亮度调整到尽可能低,然后在触摸时反转这些步骤。
这是我能想到的在不使用某些私有 api 的情况下模拟您需要的功能的唯一方法。
编辑:setBrightness 仅适用于 ios 5.0 及更高版本
【讨论】:
以上是关于使 iPad 屏幕关闭,但通过触摸唤醒(无锁定) - - iOS 6.0 / openFrameworks的主要内容,如果未能解决你的问题,请参考以下文章