Q
在后台运行计时器
0
A
回答
1
这是可能的。
像这样:var bgTask = UIBackgroundTaskIdentifier()
这里是如何使用它:
var bgTask = UIBackgroundTaskIdentifier()
bgTask = UIApplication.shared.beginBackgroundTask(expirationHandler: {
UIApplication.shared.endBackgroundTask(bgTask)
})
let timer = Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(notificationReceived), userInfo: nil, repeats: true)
RunLoop.current.add(timer, forMode: RunLoopMode.defaultRunLoopMode)
我希望这将是有益的!
-1
关闭应用程序时,将当前计时器和时钟值存储在UserDefault内的长属性中,以秒或毫秒为单位。我使用的是通用的一个我可以分享:
static let userDefaults = UserDefaults.standard
public static func set<T: Hashable> (withValue value: T, andKey key: String) {
userDefaults.set(value, forKey: key)
userDefaults.synchronize()
}
public static func get(forKey key: String) -> Any? {
if((userDefaults.object(forKey: key)) != nil){
let data = userDefaults.object(forKey: key) as? Any
return data
}
return nil
}
当你再次启动应用程序,使用“get”方法来获得;可以说秒和存储时间。然后你可以比较当前时间到一个存储和计算之间的秒数,并添加时间差到存储秒,你可以设置定时出现的值,并保持下去。
这里是你如何设置它,当你关闭应用程序:通过标识在后台运行的请求令牌
NotificationCenter.default.addObserver(self, selector: #selector(storeTime), name: NSNotification.Name.UIApplicationWillResignActive, object: nil)
func storeTime() {
"UserDefaultClassName".set(withValue: "preferably dictionary", andKey: String)
}
相关问题
- 1. 如何在后台运行计时器
- 2. 保持计时器在后台运行
- 3. 如何在后台运行计时器?
- 4. C++在后台运行计时器?
- 5. 安卓倒计时计时器继续在后台运行
- 6. 可以在后台运行的计时器代码
- 7. 在后台运行计时器的批处理。怎么样?
- 8. 更新标签在后台运行的计时器
- 9. 是否有可能在后台运行计时器?
- 10. 如何在Python中运行后台计时器
- 11. 如何让计时器在后台运行?
- 12. 重复长时间运行的后台任务在第一次后台任务后没有启动计时器
- 13. iphone定时器倒计时在后台
- 14. Iphone 4.0 - 后台计时器
- 15. 运行在后台
- 16. 运行在后台
- 17. 如何在后台运行其他功能时在后台运行功能?
- 18. 在后台运行并行
- 19. 在后台运行的时间间隔计算
- 20. 如何使倒计时运行在后台使用eclipse
- 21. C#/ Mono在后台运行服务器
- 22. 在后台运行Webrick服务器?
- 23. Rails - 在后台运行推送器
- 24. 在运行时从后台bean
- 25. 当BLE断开连接时,IOS后台在后台运行
- 26. 停止在android中运行在后台的多个定时器
- 27. 如何在运行linux ubuntu服务器时在后台运行bash脚本
- 28. 在后台运行.exe
- 29. Glassfish正在后台运行
- 30. 在后台运行NSTimer
您需要的时候你的应用程序再次运行重启定时器。 – rmaddy
保存秒表或定时器响起的时间,然后计算花“在后台”再次打开该应用时设置新值的时间。 – LinusGeffarth
他们需要它的地方写的(如'NSUserDefaults')一个'time_start',他们可以简单地继续重新启动后。 –