如何检测 iOS 应用是否处于后台或前台?
要检测 iOS 应用是否处于后台或前台,我们可以简单地使用 UIApplication,就像我们可以使用它来检测许多其他内容(如电池状态、状态等)一样。
让我们看看如何在我们的应用中做到这一点。我们将使用存储在 UIApplication.shared 中的应用共享资源。我们可以像下面这样使用它:
print(UIApplication.shared.applicationState)
shared.application state 是一个 State 类型的枚举,根据苹果的文档,它包含以下内容。
public enum State : Int { case active case inactive case background }
active 状态表示应用程序位于前台,并且正在接收事件,例如触摸事件或任何其他可以使应用程序保持活跃的事件。
Inactive 状态表示应用程序正在前台运行,但没有接收任何事件。
background 状态表示应用程序正在后台运行。
我们可以根据需要(如上所示)使用它。我们还可以根据条件执行某些操作。
let state = UIApplication.shared.applicationState if state == .active { print("I'm active") } else if state == .inactive { print("I'm inactive") } else if state == .background { print("I'm in background") }
当我们在应用的 viewDidLoad 中运行它时,我们得到以下结果
广告