How do I identify if the app was in the background when the home button was clicked and not by external events (sms, call, video call)?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
If the application is sent to background,
applicationDidEnterBackground
will be getting called.
If it is by sms, call , video call, then,
applicationWillResignActive
will be getting called first. U can identify with that.
回答2:
AFAIK there's no way. Look at UIApplicationDelegate documentation, you'll see :
- (void)applicationWillResignActive:(UIApplication *)application
This method is called to let your application know that it is about to move from the active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
There's apparently no way to distinguish an interruption (SMS, call) or an exit (by pushing the Home button).