दिलचस्प पोस्ट
Android INJECT_EVENTS अनुमति जावा संग्रह के कार्यान्वयन को चुनने के लिए अंगूठे का नियम? क्या एक प्रगति पट्टी का इस्तेमाल मुख्य कक्षा के बाहर किया जा सकता है? जावा – 'यह' कीवर्ड का उपयोग करने के लिए स्ट्रिंग के लिए लिखते समय सेगमेंटेशन फॉल्ट कैसे एक प्रतिबद्ध में सभी फाइलों की सूची है? पायथन में oslistdir () से nonalphanumeric सूची क्रम कैसे मैन्युअल रूप से icutil का उपयोग कर आईसीएनएस फाइलें बनाने के लिए? खंड पर रीस्यूम () और ऑन पॉज़ () बैकस्टैक पर नहीं बुलाया गया है पायथन कक्षाओं में समानता ("समानता") का समर्थन करने के लिए शानदार तरीके स्प्रिंग कैसे काम करता है? Windows अनुप्रयोग का कंसोल छुपाएं शेल प्रोग्रामिंग में $ (command) और `command` के बीच अंतर क्या है? छोटे रेटिंग बियर कैसे बना सकते हैं? Oracle (ORA-02270): इस कॉलम-सूची त्रुटि के लिए कोई मिलान या अनन्य प्राथमिक कुंजी नहीं है

ऐप मेरे विचार के लिए पृष्ठभूमि में प्रवेश कर रहा है, यह पता लगाने का सबसे अच्छा तरीका क्या है?

मेरे पास एक दृश्य नियंत्रक है जो कुछ कोड निष्पादित करने के लिए एक NSTimer का उपयोग करता है।

ऐप पृष्ठभूमि पर जा रहा है जब पता लगाने का सबसे अच्छा तरीका क्या है, तो मैं टाइमर रोक सकता है?

वेब के समाधान से एकत्रित समाधान "ऐप मेरे विचार के लिए पृष्ठभूमि में प्रवेश कर रहा है, यह पता लगाने का सबसे अच्छा तरीका क्या है?"

जब कोई ऐप पृष्ठभूमि में सूचनाएं प्राप्त करता है तो आप में रुचि रखने वाले किसी भी क्लास में हो सकता है यह ऐप्पडिएलेट के साथ इन वर्गों को युग्मल करने का एक अच्छा विकल्प है।

प्रारंभ करते समय वर्गों ने कहा:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActive:) name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillTerminate:) name:UIApplicationWillTerminateNotification object:nil]; 

सूचनाओं का जवाब देना

 -(void)appWillResignActive:(NSNotification*)note { } -(void)appWillTerminate:(NSNotification*)note { [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationWillTerminateNotification object:nil]; } 

अपने अनुप्रयोगों पर AppDelegate (void)applicationDidEnterBackground:(UIApplication *)application विधि आईओएस द्वारा बुलाया जाएगा आप वहां अपना टाइमर रोक सकते हैं।

स्विफ्ट 3.0 में

 override func viewDidLoad() { super.viewDidLoad() let app = UIApplication.shared //Register for the applicationWillResignActive anywhere in your app. NotificationCenter.default.addObserver(self, selector: #selector(ViewController.applicationWillResignActive(notification:)), name: NSNotification.Name.UIApplicationWillResignActive, object: app) } func applicationWillResignActive(notification: NSNotification) { } 

- (void)applicationWillResignActive:(UIApplication *)application आपके ऐप प्रतिनिधि पर - (void)applicationWillResignActive:(UIApplication *)application आप अन्य वस्तुओं पर UIApplicationWillResignActiveNotification अधिसूचना के लिए पंजीकरण भी कर सकते हैं।

आपको जरूरी नहीं कि टाइमर को रोकना होगा, यद्यपि। अगर आप कुछ भी नहीं करते हैं, तो ऐप को वैसे भी सोएगा और कोई भी कोड निष्पादित नहीं करेगा। संभव है कि आपका टाइमर फिर से सक्रिय हो जाएंगे (यदि आप करते हैं)। यदि आपको कुछ खास करने की ज़रूरत है तो 'सक्रिय बनें' प्रतिनिधि विधि और सूचनाएं जो आप के लिए भी पंजीकृत कर सकते हैं

स्विफ्ट में ऐसा करने वाले लोगों के लिए:

init :

 NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(applicationWillResignActive), name: UIApplicationWillResignActiveNotification, object: nil) 

deinit :

 NSNotificationCenter.defaultCenter().removeObserver(self, name: UIApplicationWillResignActiveNotification, object: nil) 

सूचना का जवाब देना:

 dynamic private func applicationWillResignActive() { // Do things here } 

ऐप्पल हमें स्विफ्ट में जब भी गतिशील प्रेषण और उद्देश्य-सी चयनकर्ताओं से बचने के लिए प्रेरित करती है, लेकिन यह अभी भी ऐसा करने का सबसे सुविधाजनक तरीका है।

यह SWIFT 3 के लिए प्रयास करें: ऐप पर DelegateRemoteNotification में AppDelegate फ़ाइल

  if application.applicationState == UIApplicationState.active { // TODO ACTIVE APP // Post notification NotificationCenter.default.post(name: Notification.Name("MY_NAME_NOTIFICATION"), object: nil, userInfo: userInfo) } else if application.applicationState == UIApplicationState.inactive { // TODO INACTIVE APP } else if application.applicationState == UIApplicationState.background { // TODO BACKGROUND APP } 

और फर्स्टव्यूकंट्रोलर में ओबीसीईआरआर जोड़ें

  override func viewDidLoad() { super.viewDidLoad() let nc = NotificationCenter.default // Note that default is now a property, not a method call nc.addObserver(self, selector: #selector(self.CallNotificationObserver), name:Notification.Name("MY_NAME_NOTIFICATION"), object: nil) }