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. C++在後臺運行計時器?
- 2. 如何在後臺運行計時器?
- 3. 保持計時器在後臺運行
- 4. 如何在後臺運行計時器
- 5. 安卓倒計時計時器繼續在後臺運行
- 6. iOS定時器在後臺運行
- 7. 我將在後臺運行計時器多久?
- 8. 讓計時器在後臺iOS上運行超過3分鐘
- 9. 如何在Python中運行後臺計時器
- 10. 在後臺運行計時器的批處理。怎麼樣?
- 11. 在Android中的後臺計時器上運行活動
- 12. 如何在應用程序的後臺運行計時器?
- 13. 如何讓計時器在後臺運行?
- 14. 可以在後臺運行的計時器代碼
- 15. 是否有可能在後臺運行計時器?
- 16. 是否有可能在後臺運行全局計時器?
- 17. 如何檢查計時器任務是否在後臺運行?
- 18. 更新標籤在後臺運行的計時器
- 19. 在後臺運行加速度計unsuccesfull
- 20. 重複長時間運行的後臺任務在第一次後臺任務後沒有啓動計時器
- 21. iphone定時器倒計時在後臺
- 22. Iphone 4.0 - 後臺計時器
- 23. 後臺運行服務器
- 24. 運行在後臺
- 25. 在後臺運行
- 26. 在後臺運行
- 27. 運行在後臺
- 28. 如何在後臺運行其他功能時在後臺運行功能?
- 29. 讓計數器在iOS應用程序的後臺運行
- 30. 在後臺運行並行
您需要的時候你的應用程序再次運行重啓定時器。 – rmaddy
保存秒錶或定時器響起的時間,然後計算花「在後臺」再次打開該應用時設置新值的時間。 – LinusGeffarth
他們需要它的地方寫的(如'NSUserDefaults')一個'time_start',他們可以簡單地繼續重新啓動後。 –