据我所知,应用程序可以通过两种方式进入后台:
1)用户按下主页按钮
2)应用程序已经离开了一段时间,用户没有任何操作,设备进入睡眠状态
这两个导致一个applicationDidEnterBackground
方法被调用并且应用程序状态变为UIApplicationState.Background
。那么我怎么知道这到底是怎么发生的呢?我知道这是可能的,因为我眼前有一个应用程序,它会根据用户是否按下主页按钮采取不同的操作。有什么想法吗,伙计们?
据我所知,应用程序可以通过两种方式进入后台:
1)用户按下主页按钮
2)应用程序已经离开了一段时间,用户没有任何操作,设备进入睡眠状态
这两个导致一个applicationDidEnterBackground
方法被调用并且应用程序状态变为UIApplicationState.Background
。那么我怎么知道这到底是怎么发生的呢?我知道这是可能的,因为我眼前有一个应用程序,它会根据用户是否按下主页按钮采取不同的操作。有什么想法吗,伙计们?
据我所知(相信我,我已经尝试过),没有正式的公共 API 允许您这样做。但是,我找到了这个GitHub repo,您应该专门查看的文件是应用程序委托实现文件。
回购说:
该项目描述了如何检测用户何时按下主页按钮离开您的应用程序以及何时按下锁定按钮将您的应用程序置于后台。
它利用 CSNotificationCenter 来检测 Darwin 通知。
该用户在 Stack Overflow 上回答了与此相关的两个问题,回购似乎基于:
老实说,我不知道苹果是否会拒绝或接受这种实现。如果您最终以某种方式使用它,请告诉我。我也相信这是 iOS 7 及更高版本。