检测应用程序处于显示模式(双击主页按钮)[重复]

Posted

技术标签:

【中文标题】检测应用程序处于显示模式(双击主页按钮)[重复]【英文标题】:Detect application is in display mode (double click home button) [duplicate] 【发布时间】:2013-11-01 04:07:16 【问题描述】:

我不知道如何称呼这种状态。所以为标题错误道歉。

有没有办法让我检查用户是否要离开我的应用程序。例如,当用户在主屏幕上点击 2 次时,会显示最近打开的应用程序。我想知道这个状态,所以我可以在我的应用上修改一些东西。

我检查了所有委托方法都没有涵盖这一点。 applicationWillResignActive: & applicationDidEnterBackground: 没有被解雇。

提前致谢。

【问题讨论】:

在这种情况下应该调用applicationWillResignActive: 应用程序委托方法。我刚刚测试了我自己的应用程序,它是。如果用户选择另一个应用程序,则将调用 applicationDidEnterBackground: 委托。这假设用户双击 Home 按钮时正在使用您的应用。 哇,感谢您指出这一点。不知道该调用什么,因此不知道搜索关键字。谢谢一百万。 @rmaddy 用户尚未选择其他应用。用户只需打开多任务切换器。如何知道是否处于这种状态?没有打电话给applicationDidEnterBackground 因为该应用还没有进入后台。 无法知道您的应用为何退出活动状态。可能的原因有很多。 【参考方案1】:

您无法检测到这一点。来自ios App Programming Guide(“应用程序终止”标题):

重要提示: applicationWillTerminate: 方法不会被调用,如果你 应用目前已暂停。

即使您使用 iOS SDK 4 及更高版本开发应用,您仍然必须 准备好在没有任何通知的情况下杀死您的应用程序。这 用户可以使用多任务 UI 显式终止应用程序。此外, 如果内存受到限制,系统可能会从 内存以腾出更多空间。暂停的应用程序不会收到通知 终止,但如果您的应用当前正在后台运行 状态(而不是挂起),系统调用 applicationWillTerminate:您的应用委托的方法。你的应用不能 从此方法请求额外的后台执行时间。

【讨论】:

实际上,有很多应用程序都这样做了。我敢肯定它可以。我知道一些:paypal 和 ynab 应用程序。当用户点击双主页时,他们会隐藏他们的视图。不过这只会影响 iOS7,因为你可以看到其他屏幕。

以上是关于检测应用程序处于显示模式(双击主页按钮)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

应用程序处于睡眠模式时如何检测语音?

如果在主页按钮位于右侧时以横向模式初始化,iOS MKMapView 将显示空白地图

Android - 双击主页按钮作为默认操作

如何根据偏好更改显示的按钮[关闭]

使用 Swift 2 在菜单按钮点击动画视图

MPMoviePlayerController 在后台播放airPlay,双击主页按钮时崩溃