5

我正在制作一个越狱应用程序,当用户启动应用程序时会锁定设备。我试过GSEventLockDevice();了,GraphicsServices.framework但这不能正常工作,因为它会锁定屏幕但不会关闭屏幕。有没有其他锁屏方法MobileSubstrate

4

2 回答 2

3

作为另一种选择,请查看这个答案,它使用SBDimScreen(). 您可以将其 GSEventLockDevice().

看来您现在(iOS 5+)可能需要向您的应用添加权利才能成功使用此调用。如果您以前没有这样做过,这里有一个如何这样做的示例。显然,在这种情况下,所讨论的权利必须更改为com.apple.backboard.client

您还可能会看到@VictorRonin 是否已经对此进行了试验,因为他评论了我链接到的问题。我SBDimScreen()在越狱的 iOS 4.2.1 设备上进行了测试,但我的较新设备目前无法运行此测试。我稍后会在 iOS 5.x 上尝试并发布更新。

注意:我从 Elias 链接到的答案对 iOS 6 有完全不同的调用。

于 2013-02-13T22:16:08.760 回答
2

看看这几个问题:

在 iOS 上模拟系统范围的触摸事件

在不越狱设备的情况下在 iOS 中模拟系统范围的触摸事件

如何向 iPhone OS 发送触摸事件?

这个想法是您可以模拟系统范围的事件。事件之一是断电事件。如果您模拟它,它将关闭设备并锁定它。

顺便提一句。您可能有兴趣在 GSEvent 上搜索更多内容,这是模拟的关键。

这里有几个有用的链接:

http://iphonedevwiki.net/index.php/GSEvent

http://networkpx.blogspot.com/2009/08/gsevent-recording-and-playback-in-30.html

此外,这种方法不仅限于越狱手机。它也适用于被监禁的手机(但是,您将无法将其发布到 AppStore)。

于 2013-02-13T20:46:49.560 回答