![](/img/trans.png)
[英]iOS: Perform NSURLConnection when iphone is in sleep mode or when i press the home button
[英]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
}
}
當您的應用程序進入后台(主頁按鈕)時使用- (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.