【问题标题】:Check if the application is inactive in the foreground mode检查应用程序是否在前台模式下处于非活动状态
【发布时间】:2017-09-27 14:31:39
【问题描述】:

我可以通过AppDelegate 检查我的应用程序是否处于foregroundbackground 模式。我现在想检查应用程序是否处于非活动状态,即使它处于foreground 模式。换句话说,我想检查用户是否没有使用应用程序,即使它在前台也是如此。有没有办法从AppDelegate 做到这一点?有没有其他的检查方式?

【问题讨论】:

  • “不活跃”到底是什么意思?
  • @MarcoPace 我的意思是应用程序在前台很长时间,用户没有使用它
  • 不存在类似的东西:最接近的是 UIApplicationWillResignActive 通知,当应用程序失去焦点时发布。作为替代方案,您可以检查 UIApplicationStateInactive,这意味着应用程序正在前台运行但未接收事件。如果您想在用户打开应用程序时检查某些内容并且什么都不做,恐怕您应该自己实现它。
  • @MarcoPace 请问UIApplicationStateInactive的检查在哪里?
  • @Llg 无法获得应用的 IDLE 状态。

标签: ios objective-c foreground


【解决方案1】:

UIApplicationState 中的 UIApplicationStateInactive 状态正是用于此目的。

【讨论】:

  • 即使应用程序处于前台模式,UIApplicationStateInactive 也能正常工作?
  • 我想检查用户是否没有使用应用程序,即使它在前台
  • 是的,比如当 iOS 覆盖显示,或者你双击主页按钮,或者另一个应用程序在 iPad 覆盖的前景中。
  • 我在哪里可以检查这个?它来自 AppDelegate 吗?每次应用程序已经在前台时,我是否必须使用计时器来检查?
  • 您将在运行时收到来自AppDelegateapplicationWillResignActive 或按需查看[[UIApplication sharedApplication] applicationState]
猜你喜欢
  • 1970-01-01
  • 2012-06-02
  • 2013-04-06
  • 2020-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
相关资源
最近更新 更多