【发布时间】:2012-01-28 10:32:07
【问题描述】:
我想找到一种方法来查看在前台运行的应用程序,或者当我的应用程序的本地通知出现时是否显示主屏幕。例如,如果在主屏幕或其他应用程序中,我希望有不同的操作。 我尝试使用已处理和 pid,但 pid 是在应用程序启动时生成的,而不是最后一次使用应用程序时生成的。 任何想法? 谢谢
【问题讨论】:
标签: iphone ios multitasking foreground
我想找到一种方法来查看在前台运行的应用程序,或者当我的应用程序的本地通知出现时是否显示主屏幕。例如,如果在主屏幕或其他应用程序中,我希望有不同的操作。 我尝试使用已处理和 pid,但 pid 是在应用程序启动时生成的,而不是最后一次使用应用程序时生成的。 任何想法? 谢谢
【问题讨论】:
标签: iphone ios multitasking foreground
如push notification documentation 中所述,您可以在收到通知时阅读[[UIApplication sharedApplication] applicationState],以确定您的应用程序是处于前台、非活动状态(它是可见的,但像 WiFi 选择器这样的对话框在前面)还是在后台。
【讨论】:
[[UIApplication sharedApplication] applicationState],它会告诉您您的应用是否在前台。
只是为了让其他人可以复制粘贴代码:
if([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
{
//App is in foreground. Act on it.
}
【讨论】:
Swift 5 版本:
import UIKit
let isForeground = UIApplication.shared.applicationState == .active
【讨论】:
import UIKit,因为标识符UIApplication 的来源并不明显。