有没有办法在应用程序进入后台后检测锁定?例如,
- 我的应用 (A) 在前台打开
- 然后我将另一个应用程序 (B) 带到前台
- 然后锁屏
(A) 是否有可能检测到锁?
最佳答案
答案是“理论上是,但通常不是。”
应用实际上有比事件和后台更多的状态。
状态是:
- 活跃
- 后台(仍在运行,但另一个应用程序在前台)
- 挂起(在内存中,但没有获得任何 CPU 时间)
- 没有运行。 (不再运行或在内存中。)
当用户切换应用程序、按下主页按钮或锁定他们的设备时,您的应用程序会收到通知它正在进入后台,但它实际上只会在后台运行很短的时间。它几乎立即过渡到暂停状态。一旦你被暂停,你可以随时终止,恕不另行通知。
如果您在收到通知您将被转移到后台时需要更多时间来完成任务,您可以使用 beginBackgroundTaskWithExpirationHandler
调用请求它。但是,在撰写本文时,您最多有 3 分钟的时间,然后您的过期处理程序将触发并且您的应用程序将被暂停。
因此,您实际上不会在后台运行很长时间,并且很可能在用户锁定屏幕(或自动锁定)时您已经暂停并且不会通知。
关于IOS:应用程序进入后台后检测锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34401430/