我需要檢查應用程序是否移動到了後臺。爲什麼?Swift 3:檢查應用程序是否在後臺
那麼因爲我的應用程序使用藍牙,一次只能有一個人連接到此設備。因此,如果他們沒有使用它並且應用程序位於後臺,請斷開它們並將它們發送到連接主頁面。
現在我已經完成了這個。我在主要的第一類中有一個選擇器,並且具有斷開連接併發送到第一頁的功能。但是我沒有意識到的是,如果控制面板被拖拽,應用程序將處於「背景」。
從環視看來,似乎沒有辦法檢測控制面板是否長大。那麼,有沒有人有任何想法可以做到這一點?
實際上,我只是想要它,所以如果應用程序被移動到背景以外的任何其他原因比控制面板被提出,斷開設備。
選擇:
let notificationCenter = NotificationCenter.default
notificationCenter.addObserver(self, selector: #selector(appMovedToBackground), name: Notification.Name.UIApplicationWillResignActive, object: nil)
功能:
@objc func appMovedToBackground() {
if (ViewController.connectedPeripheral != nil) {
print("App moved to background!")
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "connectView") as! ViewController
self.navigationController?.pushViewController(nextViewController, animated: true)
ViewController.centralManager.cancelPeripheralConnection(ViewController.connectedPeripheral!)
}
else {
print("App moved to background but no device is connected so no further action taken")
}
}
這不是其他問題重複。我知道如何檢查應用程序是否處於後臺狀態。我只是不想在控制面板被拔出時斷開連接...
UIApplicationDidEnterBackground通知是您要查找的內容嗎? –