標籤:term nbsp ict ica rbac 前台 nat 委託 err
一、掛起
當有電話進來或者鎖屏,這時你的應用程會掛起,在這時,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掛起