簡體   English   中英

在 iOS 4.3 中,當您按下主頁按鈕或按下開/關按鈕時,我如何區分背景模式?

[英]in iOS 4.3, how i can differentiate between the background mode, when you press the home button or when you press the on/off button?

我已經使用了:

(void)applicationDidEnterBackground:(UIApplication *)application {}

方法,但我無法區分是因為按下主頁按鈕還是開/關按鈕。

提前致謝,

對於開/關按鈕(或來電或短信):

- (void)applicationWillResignActive:(UIApplication *)application  

對於主頁按鈕:

- (void)applicationDidEnterBackground:(UIApplication *)application

隨着applicationDidBecomeActive applicationWillResignActive會在您進入后台時進入。 但是有一種方法可以通過獲取應用程序的 state 來區分,所以在applicationDidEnterBackground中試試這個。

- (void)appHasGoneInBackground {       
    bool inBackground = [UIApplication sharedApplication].applicationState == UIApplicationStateBackground;

    // lockScreen state
    if (!inBackground) {
        // do something
    }
}

Apple 的 UIApplication 類參考

當您的應用程序進入后台(主頁按鈕)時使用- (void)applicationDidEnterBackground:(UIApplication *)application {}並在即將關閉時- (void)applicationWillTerminate:(UIApplication *)application (開/關按鈕或 iOS在后台隨機時間后調用關閉)。

我的理解是,當您鎖定或解鎖 iOS 設備時,您的應用程序委托將分別調用- (void)applicationWillResignActive:(UIApplication *)application- (void)applicationDidBecomeActive:(UIApplication *)application 鎖定和解鎖類似於接聽電話等中斷。 通過點擊主頁按鈕將應用程序發送到后台調用不同的方法,即- (void)applicationDidEnterBackground:(UIApplication *)application- (void)applicationWillEnterForeground:(UIApplication *)application

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM