1

我想在應用程序關閉前執行一些方法,這是因爲用戶不活動(即,屏幕變黑並且手機鎖定時,您尚未觸摸它一段時間)。發生這種情況時會調用哪些方法?在閒置之後屏幕變黑之前調用了什麼方法?

我猜:

  • 這種方法/這些方法將是我AppDelegate類中的一部分。
  • 該方法/這些方法將類似於-[UIAppDelegate applicationWillResignActive:],-[UIAppDelegate applicationDidEnterBackground:],-[UIAppDelegate willTerminate:]

我沒有在UIApplicationDelegate的文檔中看到任何內容,並且我很難搜索正確的術語(例如,「方法不活動應用程序目標c」)。我也沒有看到任何堆棧溢出。


編輯/澄清:多的人已指示我對下面的堆棧溢出後作爲一個可能的重複:iPhone: Detecting user inactivity/idle time since last screen touch

不過,我相信我的問題是非常不同的。請讓我知道我的誤解,如果我的理解是關閉的。

  • 我的問題:是否有一個內置的方法在Objective-C類似於-[UIAppDelegate applicationWillResignActive:]等。在應用程序仍處於打開狀態時,如果在閒置一段時間後屏幕變黑,那麼該名稱或屬性會更改?
  • 其他問題:如何在用戶不活動的預定時間段後觸發方法,而不管屏幕狀態如何?

我能看到其他的問題如何能回答我的問題,如果存在獲取時間的用戶已設置下(無論是1分鐘,2分鐘,3分鐘設置爲「自動鎖定」長度的方法,4分鐘,5分鐘或從不),但在UIApplication的文檔中我沒有看到這樣的方法或屬性。我認爲妥協是假定屏幕在閒置1分鐘後「關閉」,但這對我來說將是一個不太理想的假設。

回答

0

據我所知,沒有這樣的方法。只有你提到的那些。

0

當應用程序即將成爲非激活這一個被調用(你在這裏shouldstop任何過程如計時器等)

[UIAppDelegate applicationWillResignActive:] 

時就已經成爲非活動狀態(這裏,應該保存重要數據)

-[UIAppDelegate applicationDidEnterBackground:] 

當你的應用被殺死(保存所有,殺了他們所有)

-[UIAppDelegate willTerminate:] 

的任何其他信息..你可以檢查此鏈接

https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html

相關問題