Я хотел бы найти способ увидеть, что приложение работает на переднем плане, или если отображается домашний экран, когда появляется локальное уведомление из моего приложения. Например, я хочу иметь разные действия, если есть на рабочем столе или в другом приложении. Я пытался использовать обработанные и pid, но pid генерируется при запуске приложения, а не в последний раз, когда приложение используется. Есть идеи? спасибо
Определите, работает ли приложение на переднем плане, когда уведомление получено в iOS
Ответ 1
Как описано в документации push-уведомление, вы можете прочитать [[UIApplication sharedApplication] applicationState]
, когда вы получаете уведомление, чтобы определить, находится ли ваше приложение на переднем плане, неактивно (оно видимо, но диалог, подобный выбору WiFi, спереди) или в фоновом режиме.
Ответ 2
Просто, чтобы иметь код копирования-вставки для других:
if([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
{
//App is in foreground. Act on it.
}
Ответ 3
Версия Swift 5:
let isForeground = UIApplication.shared.applicationState == .active