ios - 快速检测应用程序是在后台还是在前台

标签 ios iphone swift swift3 lifecycle

有什么方法可以知道我的应用程序处于后台模式还是前台模式。谢谢

最佳答案

[UIApplication sharedApplication].applicationState 将返回应用程序的当前状态,例如:

  • UIApplicationStateActive
  • UIApplicationStateInactive
  • UIApplicationStateBackground

或者如果您想通过通知访问,请参阅 UIApplicationDidBecomeActiveNotification

swift 3+

let state = UIApplication.shared.applicationState
if state == .background || state == .inactive {
    // background
} else if state == .active {
    // foreground
}

switch UIApplication.shared.applicationState {
    case .background, .inactive:
        // background
    case .active:
        // foreground
    default:
        break
}

objective-c

UIApplicationState state = [[UIApplication sharedApplication] applicationState];
if (state == UIApplicationStateBackground || state == UIApplicationStateInactive) {
    // background
} else if (state == UIApplicationStateActive) {
    // foreground
}

关于ios - 快速检测应用程序是在后台还是在前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971994/

相关文章:

ios - UILabel 的边框很模糊

ios - 从 TDD 构建架构写入 "modules"

ios - 在 swift 中对不同的现有类实现相同的属性

ios - 将集合转换为数组?

arrays - Swift 结构错误

ios - 并发进程执行的同步

ios - 我可以假设所有用户在同一 iOS 设备上应用程序速度相同吗

iphone - 在格式化价格时获取 NSNumberFormatter 以拼出货币

iPhone iOS 如何用特定的触发时间初始化 GCD 调度计时器?

iphone - 从 iPhone 地址簿中获取一个人的图像