如何檢測 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 中執行它時,我們得到以下結果

更新於: 2019-07-30

3K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告