我想在手机锁定时停止计时器,那么我该怎么做呢?在代码中,当他进入后台模式时,我设置了计时器,所以它可以工作,但我不知道如何让计时器在手机锁定时停止。有谁有主意吗?
var backgroundTaskIdentifier: UIBackgroundTaskIdentifier?
override func viewDidLoad() {
super.viewDidLoad()
backgroundTaskIdentifier = UIApplication.shared().beginBackgroundTask {
UIApplication.shared().endBackgroundTask(self.backgroundTaskIdentifier!)
}
timer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(LoangeController.cosumTime), userInfo: nil, repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate()
}
func cosumTime() {
let currentTime = NSDate.timeIntervalSinceReferenceDate()
var elapsedTime: TimeInterval = currentTime - startTime
let hours = UInt8(elapsedTime / 3600.0)
elapsedTime -= (TimeInterval(hours) * 3600)
let minutes = UInt8(elapsedTime / 60.0)
elapsedTime -= (TimeInterval(minutes) * 60)
let seconds = UInt8(elapsedTime)
elapsedTime -= TimeInterval(seconds)
//add the leading zero for minutes, seconds and millseconds and store them as string constants
let strHours = String(format: "%02d", hours)
let strMinutes = String(format: "%02d", minutes)
let strSeconds = String(format: "%02d", seconds)
let counttime = "\(strHours): \(strMinutes): \(strSeconds)"
timeconsum = counttime
print("\(counttime)")
if timeconsum == timeout {
print("Remind TimeOut")
let UUID = Foundation.UUID().uuidString
Notification.addNotification(title: "TimeOut Put your Phone away", date: CurrentTime, uuid: UUID)
}
}https://stackoverflow.com/questions/38361779
复制相似问题