调取状态栏的时候 appdelegate 只会走这两个方法 不会走进入后台和进入前台
///> app 启动完成 程序准备开始运行
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
///> app 进入活跃状态
- (void)applicationDidBecomeActive:(UIApplication *)application
///> app 进入非活跃状态 如:打开状态栏 来电话 等等 只会调用此方法。不会调用进入后台
- (void)applicationWillResignActive:(UIApplication *)application
///> app 进入后台 会调用 (app 进入非活跃状态)的方法
- (void)applicationDidEnterBackground:(UIApplication *)application
///> app 进入前台
- (void)applicationWillEnterForeground:(UIApplication *)application
///> app 即将推出
- (void)applicationWillTerminate:(UIApplication *)application
给Controller添加通知 所以我们只需要添加前面两个就可以了
// app进入活跃状态
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
// app进入非活跃状态
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive) name:UIApplicationWillResignActiveNotification object:nil];
// app进入前台
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillEnterForeground) name:UIApplicationWillEnterForegroundNotification object:nil];
// app进入后台
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidEnterBackground) name: UIApplicationDidEnterBackgroundNotification object:nil];
程序启动调用顺序:
1.app 启动完成 程序准备开始运行
2.app 进入活跃状态
打开状态栏调用顺序
1.app 进入非活跃状态
关闭状态栏调用顺序
1.app 进入活跃状态 「 有延迟 大约1s 」
进入后台调用顺序 --> 点击Home键
1.app 进入非活跃状态
2.app 进入后台
进入前台调用顺序
1.app 进入前台
2.app 进入活跃状态
双击Home键盘
1.app 进入非活跃状态
杀死app
1.app 进入后台
2.app 即将推出
网友评论