iOS私有API:locking设备并closures屏幕

我正在制作一个越狱应用程序,在用户启动应用程序时locking设备。 我试过GSEventLockDevice();GraphicsServices.framework但这不能正常工作,因为它locking屏幕,但不closures屏幕。 有另一种方法来locking屏幕没有MobileSubstrate

就像另一个select, 检查这个答案 ,它使用SBDimScreen() 。 您可以将它 GSEventLockDevice() 一起使用

看起来你现在可能(iOS 5+)需要添加一个授权给你的应用程序来成功地使用这个调用。 如果你之前没有这样做, 这是一个如何做的例子 。 显然,在这种情况下,有问题的权利必须改为com.apple.backboard.client

你也可以看看@VictorRonin是否对这个问题进行了实验,正如他对我所关联的问题所评论的那样。 我在越狱的iOS 4.2.1设备上testing了SBDimScreen() ,但是我的新设备目前无法运行这个testing。 我会稍后在iOS 5.x上尝试,并发布更新。

注意:我从Elias链接到的答案在iOS 6中完全不同

看看这几个问题:

在iOS上模拟系统宽接触事件

在iOS中模拟系统宽接触事件,无需越狱

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

这个想法是,你可以模拟系统范围的事件。 其中一个事件是掉电事件。 如果你模拟它,它会closures设备,并将其locking。

BTW。 您甚至可能对GSEvent更感兴趣,GSEvent甚至是模拟的关键。

这里有几个有用的链接:

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

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

另外,这种方法不仅限于越狱手机。 它也可以在jailed手机上工作(但是,您将无法将其发布到AppStore)。