我有一个应用大量使用视频输出。在一个典型的用例中,我将 iPad 连接到外接显示器。我只想打开外接显示器; iPad 显示屏不需要一直亮着。
理想的情况是让某人连接到外接显示器,然后锁定他们的 iPad。但这会暂停我的应用程序。 (目前,我正在调用 setIdleTimerDisabled 以防止 iPad 锁定和暂停我的应用程序。)
我想为用户提供锁定 iPad 的选项,但仍让我的应用程序运行并将图像发送到视频。 (注意:我不是说在我的应用程序不在前台时保持运行。我只是想在前台保持运行,但设备被锁定。)
这可能吗?
Best Answer-推荐答案 strong>
我会说不,这是不可能的。原因如下:
docs阅读:
Pressing the Sleep/Wake button is another type of interruption that causes your app to be deactivated temporarily. When the user presses this button, the system disables touch events, moves the app to the background but sets the value of the app’s applicationState property to UIApplicationStateInactive (as opposed to UIApplicationStateBackground ), and finally locks the screen.
在上面的文档中需要注意的一点是,在“发生中断时该怎么办”下方稍稍往下一点,Apple 建议您停止执行某些任务。
In response to this change, your app should do the following in its applicationWillResignActive: method:
- Stop timers and other periodic tasks.
- Stop any running metadata queries.
- Do not initiate any new tasks.
- Pause movie playback (except when playing back over AirPlay).
- Enter into a pause state if your app is a game.
- Throttle back OpenGL ES frame rates.
- Suspend any dispatch queues or operation queues executing non-critical code. (You can continue processing network requests and other time-sensitive background tasks while inactive.)
这告诉我,Apple 不希望或期望您的应用在这种状态下做很多事情,除了准备完全后台运行。
在相关说明中,这里有一个线程显示如何确定您是否按下了 sleep /唤醒按钮:
Is it possible to distinguish between locking the device and sending an app to background?
关于ios - 在 iOS 设备锁定时保持应用程序运行?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/15305314/
|