回答
答案是「理論上是,但通常不是。」
應用程序實際上具有比活動和背景更多的狀態。
的情況是:
- 活動
- 背景(仍然在運行,而另一個應用在前臺)
- 暫停(在內存中,但沒有得到任何CPU時間)
- 不運行。 (不再運行或在內存中)。
當用戶交換應用程序,按下主頁按鈕或鎖定他們的設備時,您的應用程序會收到通知它將進入後臺,但實際上只會在很短的時間背景。它幾乎立即轉換爲暫停。一旦你被暫停,你可以隨時終止,恕不另行通知。
如果您需要更多時間來完成任務,當您收到通知您正在移動到後臺時,可以使用beginBackgroundTaskWithExpirationHandler
呼叫請求該任務。不過,截至撰寫本文時,您最多隻需要3分鐘,然後您的到期處理程序就會啓動並且您的應用程序被暫停。
由於這個原因,您實際上並不會在後臺運行很長時間,而且很可能在用戶鎖定屏幕(或自動鎖定)時,您已被暫停,並且不會得到通知。
是否有可能(A)檢測到鎖?
否,原因有二:
無法檢測,在任何情況下,該屏幕已被鎖定。即使你的應用程序是最前面的,當屏幕鎖定時,所有你學習的是,你的應用程序是後臺接地,沒有你能夠學習爲什麼。
在您的的情況下,到屏幕鎖定時,您的應用程序甚至沒有運行 - 它已被暫停。所以它不能「檢測」什麼東西。
至於你的第一個陳述,它**是**可能檢測到屏幕已被鎖定。 (你使用'notify_register_dispatch'。參見[**這個線程**](http://stackoverflow.com/questions/14229955/is-there-a-way-to-check-if-the-ios-device-is )然而,第二個原因仍然存在,使鎖定通知不是非常有用,除非你的應用程序設置爲在後臺運行。 –
- 1. Android應用程序進入後臺時能檢測到嗎?
- 2. 在後臺應用程序中檢測鎖定屏幕
- 3. Android檢測應用程序是否進入後臺
- 4. 當應用程序進入後臺時運行後臺線程
- 5. Facebook應用程序進入前臺後
- 6. iOS應用程序進入後臺後iOS UiImage返回不同的簽名
- 7. iOS應用程序進入後臺,並有問題返回到前臺
- 8. iOS後臺進程
- 9. 當iOS應用程序確實進入後臺
- 10. 即使在應用程序終止後ios 8定期後臺進程
- 11. iOS中的後臺應用程序檢測傳入的電話呼叫
- 12. 如何檢測iOS/Android應用程序是否從PubNub的後臺帶入?
- 13. iOS 7 - 在應用程序進入後臺後不會調用didUpdateLocations委託
- 14. gps應用程序的後臺進程
- 15. 動畫崩潰後進入後臺應用程序
- 16. Android應用程序在完成活動後進入後臺
- 17. NSTimer在應用程序進入後臺後不會停止
- 18. 進入後臺後,應用程序永遠不會被暫停?
- 19. Swift - 當應用程序進入後臺時進入視圖
- 20. Webthread鎖定主線程應用程序時,是進入前臺
- 21. 的iOS:進入後臺
- 22. 鎖屏供應商應用程序的後臺任務到期
- 23. 當應用程序進入後臺並且iPad被自動鎖定時,應用程序崩潰
- 24. 在後臺運行iOS應用程序
- 25. IOS CancelNotificaion當應用程序在後臺
- 26. iOS應用程序在後臺
- 27. 從後臺打開iOS應用程序
- 28. TokBox iOS - 應用程序後臺進程信號不工作
- 29. MPMoviePlayerViewController得到dissmiss當應用程序進入後臺
- 30. iOS後臺進程和AFNetworking
我的用例是,用戶可以切換到另一個應用程序一段時間(<= 1分鐘)只是爲了改變事情,並切換回我們的應用程序。如果我設置了一個新的計時器,當應用程序放在後臺時,你認爲這是可能的嗎?你認爲蘋果會允許嗎? –
我相信只要你只在短時間內在後臺運行,並且明確定義了原因,他們也會一直這樣。雖然我不會爲蘋果說話。 –