在不活动后屏幕变黑之前调用了什么方法?

时间:2014-01-24 22:47:54

标签: ios objective-c cocoa-touch lifecycle uiapplicationdelegate

我想在我的应用关闭之前执行一些方法,因为用户不活动(即,屏幕变黑并且当你有一段时间未触摸时手机锁定)。发生这种情况时会调用哪种方法?

我在猜测:

  • 此方法/这些方法将成为我的AppDelegate类的一部分。
  • 此方法/这些方法类似于-[UIAppDelegate applicationWillResignActive:]-[UIAppDelegate applicationDidEnterBackground:]-[UIAppDelegate willTerminate:]

我在UIApplicationDelegate的文档中没有看到任何内容,我在搜索正确的术语时遇到了困难(例如,“方法不活动应用目标c”)。我也没有在Stack Overflow上看到任何内容。


编辑/澄清:多人指示我将以下Stack Overflow帖子作为可能的副本:iPhone: Detecting user inactivity/idle time since last screen touch

但是,我确实相信我的问题非常不同。如果我的理解消失,请告诉我我的误解。

  • 我的问题:Objective-C中是否有内置方法,类似于-[UIAppDelegate applicationWillResignActive:]等。在应用程序仍处于打开状态时,如果屏幕在一段时间不活动后变为黑色,则会调用或更改属性?
  • 其他问题:无论屏幕状态如何,如何在预定的用户不活动时段后触发方法?

如果有一种方法可以获得用户在“设置”下设置“自动锁定”的时间长度(1分钟,2分钟,3分钟,4分钟),我可以看到另一个问题如何回答我的问题,5分钟或从不),但我在UIApplication的文档中没有看到这样的方法或属性。我认为妥协是假设屏幕在1分钟不活动后“关闭”,但对我来说这将是一个不太令人满意的假设。

2 个答案:

答案 0 :(得分:0)

据我所知,没有这样的方法。只有你提到的那些。

答案 1 :(得分:0)

当应用程序即将变为非活动状态时,会调用此程序(您应该在此处停止任何进程,如计时器等。)

[UIAppDelegate applicationWillResignActive:]

当它已经变为非活动状态时(您应该在此处保存所有重要数据)

-[UIAppDelegate applicationDidEnterBackground:]

当您的应用被杀死时(全部保存,全部杀死)

-[UIAppDelegate willTerminate:]

任何其他信息..您可以查看此链接

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