IOS applicationWillResignActive挂起

Posted 王彬iOS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS applicationWillResignActive挂起相关的知识,希望对你有一定的参考价值。

一、挂起
 
当有电话进来或者锁屏,这时你的应用程会挂起,在这时,UIApplicationDelegate委托会收到通知,调用 applicationWillResignActive 方法,你可以重写这个方法,做挂起前的工作,比如关闭网络,保存数据。
 


C代码  
 1. - (void)applicationWillResignActive:(UIApplication*)application{    
2.     
3. }    
   
当你的程序被挂起后他不会在后台运行。
 
 
 
二、复原
 
当程序复原时,另一个名为 applicationDidBecomeActive 委托方法会被调用,在此你可以通过之前挂起前保存的数据来恢复你的应用程序:
 


C代码  
 1. - (void)applicationDidBecomeActive:(UIApplication*)application{    
2.     
3. }    
   
注意:应用程序在启动时,在调用了 applicationDidFinishLaunching 方法之后也会调用 applicationDidBecomeActive 方法,所以你要确保你的代码能够分清复原与启动,避免出现逻辑上的bug。
 
 
 
三、终止
 
当用户按下按钮,或者关机,程序都会被终止。当一个程序将要正常终止时会调用 applicationWillTerminate方法。但是如果长主按钮强制退出,则不会调用该方法。这个方法该执行剩下的清理工作,比如所有的连接都能正常关闭,并在程序退出前执行任何其他的必要的工作:
 


C代码  
 1. - (void)applicationWillTerminate:(UIApplication*)application{    
2.     
3. }    
   

 

1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
2. {  
3.     // Override point for customization after application launch.  
4.     NSLog(@"\n ===> 程序开始 !");   
5.       
6.     return YES;  
7. }  
8.                               
9. - (void)applicationWillResignActive:(UIApplication *)application  
10. {  
11.       
12.     NSLog(@"\n ===> 程序暂行 !");   
13. }  
14.   
15. - (void)applicationDidEnterBackground:(UIApplication *)application  
16. {  
17.       
18.      NSLog(@"\n ===> 程序进入后台 !");   
19. }  
20.   
21. - (void)applicationWillEnterForeground:(UIApplication *)application  
22. {  
23.       
24.      NSLog(@"\n ===> 程序进入前台 !");   
25. }  
26.   
27. - (void)applicationDidBecomeActive:(UIApplication *)application  
28. {  
29.     NSLog(@"\n ===> 程序重新激活 !");   
30.       
31. }  
32.   
33. - (void)applicationWillTerminate:(UIApplication *)application  
34. {  
35.     NSLog(@"\n ===> 程序意外暂行 !");   
36.   
37.     UIDevice *device = [UIDevice currentDevice];  
38.       
39. }  
   
首次运行:
 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 
- (void)applicationDidBecomeActive:(UIApplication *)application
 
 
 
首次关闭(home):
 
- (void)applicationWillResignActive:(UIApplication *)application
 
- (void)applicationDidEnterBackground:(UIApplication *)application
 
 
 
再次运行:
 
- (void)applicationWillEnterForeground:(UIApplication *)application
 
- (void)applicationDidBecomeActive:(UIApplication *)application
 
 
 
再次关闭:
 
- (void)applicationWillResignActive:(UIApplication *)application
 
- (void)applicationDidEnterBackground:(UIApplication *)application

 







































































































以上是关于IOS applicationWillResignActive挂起的主要内容,如果未能解决你的问题,请参考以下文章

最佳实践。通过支持 iOS 5、iOS 6 和 iOS 7 UI 使 iOS 应用程序通用

iOS 应用程序 - 如何仅为 iOS 8 用户添加 iOS 8 功能,同时仍支持所有 iOS 7 用户

ios手游平台 ios手游推荐 ios手游排行 ios手游模拟器 ios手游盒子

李洪强iOS开发之iOS学习方法收集

iOS开发 适配iOS10

ios兼容 iphoneX ios10 ios11