Как определить, было ли приложение в фоновом режиме при нажатии кнопки «Домой», а не по внешним событиям (смс, звонок, видеозвонок)?
Если приложение отправлено в фоновом режиме,
applicationDidEnterBackground
будет вызываться.
Если это по смс, звонить, видео звонить, то,
applicationWillResignActive
будет вызван первым. Вы можете идентифицировать себя с этим.
AFAIK нет пути.Посмотрите документацию UIApplicationDelegate, вы увидите:
- (void)applicationWillResignActive:(UIApplication *)application Этот метод вызывается, чтобы сообщить приложению, что оно собирается перейти из активного в неактивное состояние.Это может происходить при определенных типах временных прерываний (таких как входящий телефонный звонок или SMS-сообщение) или когда пользователь выходит из приложения и начинает переход в фоновое состояние.
- (void)applicationWillResignActive:(UIApplication *)application
Этот метод вызывается, чтобы сообщить приложению, что оно собирается перейти из активного в неактивное состояние.Это может происходить при определенных типах временных прерываний (таких как входящий телефонный звонок или SMS-сообщение) или когда пользователь выходит из приложения и начинает переход в фоновое состояние.
Там, по-видимому, нет никакого способараспознавать прерывание (SMS, звонок) или выход (нажатием кнопки «Домой»).