有没有办法在应用进入后台后检测锁定?例如,
(A)是否可以检测到锁定?
答案 0 :(得分:2)
答案是“理论上是,但通常不是。”
应用实际上拥有的状态多于活动状态和背景状态。
州是:
当用户交换应用程序,按下主页按钮或锁定他们的设备时,您的应用程序会收到通知它进入后台的通知,但它实际上只在后台运行非常短时间。它几乎立即过渡到暂停。一旦您被暂停,您可以随时终止,恕不另行通知。
如果您在收到通知后被移至后台时需要更多时间来完成任务,则可以使用beginBackgroundTaskWithExpirationHandler
来电申请。但是,在撰写本文时,您最多只能获得3分钟,然后您的到期处理程序将被触发,您的应用程序将被暂停。
因此,你实际上并没有在后台运行很长时间,并且可能在用户锁定屏幕时(或者它自动锁定)你已经被暂停并且没有得到通知。
答案 1 :(得分:0)
(A)是否可以检测到锁定?
不,有两个原因:
在任何情况下,您都无法检测到屏幕已被锁定。即使您的应用在屏幕锁定时位于最前面,所有您了解到您的应用是背景,而无法学习为什么
在你的场景中,当屏幕被锁定时,你的应用程序甚至没有运行 - 它已被暂停。所以它无法“检测”任何。