我正在制作一个越狱应用程序,当用户启动应用程序时会锁定设备。我试过GSEventLockDevice();
了,GraphicsServices.framework
但这不能正常工作,因为它会锁定屏幕但不会关闭屏幕。有没有其他锁屏方法MobileSubstrate
?
2 回答
作为另一种选择,请查看这个答案,它使用SBDimScreen()
. 您可以将其与 GSEventLockDevice()
.
看来您现在(iOS 5+)可能需要向您的应用添加权利才能成功使用此调用。如果您以前没有这样做过,这里有一个如何这样做的示例。显然,在这种情况下,所讨论的权利必须更改为com.apple.backboard.client
。
您还可能会看到@VictorRonin 是否已经对此进行了试验,因为他评论了我链接到的问题。我SBDimScreen()
在越狱的 iOS 4.2.1 设备上进行了测试,但我的较新设备目前无法运行此测试。我稍后会在 iOS 5.x 上尝试并发布更新。
注意:我从 Elias 链接到的答案对 iOS 6 有完全不同的调用。
看看这几个问题:
这个想法是您可以模拟系统范围的事件。事件之一是断电事件。如果您模拟它,它将关闭设备并锁定它。
顺便提一句。您可能有兴趣在 GSEvent 上搜索更多内容,这是模拟的关键。
这里有几个有用的链接:
http://iphonedevwiki.net/index.php/GSEvent
http://networkpx.blogspot.com/2009/08/gsevent-recording-and-playback-in-30.html
此外,这种方法不仅限于越狱手机。它也适用于被监禁的手机(但是,您将无法将其发布到 AppStore)。