我想找到一种方法来查看应用程序在前台运行的内容,或者当我的应用程序显示本地通知时是否显示主屏幕。例如,如果有主屏幕或其他应用程序,我想要有不同的操作。 我尝试使用已处理和pid,但是应用程序启动时会生成pid,而不是最后一次使用应用程序。 任何的想法? 感谢
答案 0 :(得分:58)
如push notification documentation中所述,当您收到通知以确定您的应用是否在前台时,您可以阅读[[UIApplication sharedApplication] applicationState]
,无效(它是可见的但是WiFi选择器之类的对话框在前面)或者在背景中。
答案 1 :(得分:13)
只需为其他人提供复制粘贴代码:
if([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
{
//App is in foreground. Act on it.
}
答案 2 :(得分:6)
Swift 4版本:
let isForeground = UIApplication.shared.applicationState == .active