2009-05-22 11 views
5

यह प्रश्न इस मंच पर कई अन्य लोगों का सार प्रतीत होता है। मेरा मानना ​​है कि सक्रिय आईफोन एप्लिकेशन चलाना जारी रखना संभव है, और विशेष रूप से, निष्क्रिय स्थिति में प्रवेश करने के बाद, टाइमर कॉल-बैक प्राप्त करना जारी रखने के लिए (या तो स्क्रीन लॉक में लात मारने वाले निष्क्रिय टाइमर के माध्यम से, या उपयोगकर्ता दबाने के माध्यम से हार्डवेयर लॉक बटन)।एनएसटीमर कॉलबैक जबकि आईफोन एप्लिकेशन निष्क्रिय है

प्रलेखन विशेष रूप से कहता है कि जब कोई एप्लिकेशन निष्क्रिय होता है, तो यह निष्पादित होता है, लेकिन आने वाली घटनाओं को प्रेषित नहीं करता है (मैं एक लिंक नहीं दे रहा हूं क्योंकि मैं एनडीए के बारे में अजीब हूं - क्या मुझे इसके बारे में आराम करना चाहिए? क्या यह पूरी पोस्ट है एक उल्लंघन? श्वास)।

इसके अलावा, उपयोगकर्ता "एम्ब्र स्ट्र" द्वारा दो उत्तरों सीधे बताते हैं कि टाइमर कॉल-बैक प्राप्त करना जारी रखना संभव है, और वह इसे प्राप्त करने के लिए कोड का एक स्निप प्रदान करता है (मैं इससे लिंक नहीं कर सकता क्योंकि मैं एक नया उपयोगकर्ता, क्षमा करें - प्रश्न के लिए खोजें: "आईफोन ऐप के साथ क्या होता है जब आईफोन स्टैंड-बाय मोड में जाता है?" उसका जवाब ढूंढने के लिए)।

मैं अपने कॉल-पीठ बनाने के लिए के रूप में वह पता चलता है की कोशिश की है, लेकिन एक बार अपने आवेदन निष्क्रिय हो जाता है, कॉल-बैक फायरिंग बंद कर दें।

मैं सिर्फ देखा है कि, जबकि iPhone में खामियों को दूर किया जाता है, यदि आवेदन हो जाता निष्क्रिय (या मुझे नींद बटन दबाने समय बाहर निष्क्रिय के कारण), कॉल-पीठ घटित करने के लिए जारी है - शायद मैं अपने उपयोगकर्ताओं मिलना चाहिए उनके साथ बैटरी पैक ले जाने के लिए ;-)

उत्तर

2

ऐप्पल के मंचों पर इस प्रश्न का एक अच्छा जवाब है। "टाइमर" और "एस्किमो" के लिए खोजें (सहायक चैप जो उत्तर प्रदान करता है)।

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

यह सुझाव दिया है कि ठहरने जाग ऑडियो चला रहा एक हैक है, और आप इसे नहीं करना चाहिए अगर सब पर संभव है कि। मुझे लगता है कि मेरे आवेदन में (जो चुप अवधि के साथ छेड़छाड़ की गई ऑडियो प्लेबैक करता है), आदर्श आदर्श नहीं है, तो दृष्टिकोण मान्य है!

+1

क्या UIApplication.idleTimerDisabled मदद करता है, या क्या उपयोगकर्ता काम नहीं करता है जब उपयोगकर्ता नींद बटन मैन्युअल रूप से हिट करता है? –

+1

जैसा कि आप सुझाव देते हैं, UIApplication.idleTimerDisabled काम नहीं करता है अगर उपयोगकर्ता नींद बटन हिट करता है, लेकिन इसके अलावा इसके लिए और भी कुछ है ... UIApplication.idleTimerDisabled शानदार है यदि आप निष्क्रिय एप्लिकेशन में प्रवेश करने से रोकना चाहते हैं डिवाइस के साथ बातचीत नहीं की है। यह एक खेल के लिए उपयुक्त है। मेरे मामले में, मैं विशेष रूप से एप्लिकेशन को निष्क्रिय होने की इच्छा करता हूं (क्योंकि यदि संभव हो तो मैं डिवाइस पावर आरक्षित करना चाहता हूं)। इसके अलावा, मैं उपयोगकर्ता को डिवाइस को लॉक करने की अनुमति देना चाहता हूं ताकि इनपुट प्राप्त न हो। –

+0

इसका आईओएस 5-संगत कार्यान्वयन https://github.com/mruegenberg/MMPDeepSleepPreventer पर है – mrueg

0

मेरे पास एक ऐप है। जिसमें एक एम्बेडेड वेबसर्वर शामिल है। मैं सर्वर चालू होने पर ऑटो-नींद आईएफएफ को अक्षम करने का विकल्प देने की योजना बना रहा हूं, और डिवाइस चालू है। तो आप UIDevice की बैटरीस्टेट संपत्ति की जांच करने पर विचार कर सकते हैं। तो अगर बैटरीस्टेट! = UIDeviceBatteryStateUnplugged, आगे बढ़ें और निष्क्रिय टाइमर अक्षम करें। (नोट: दस्तावेज़ों का कहना है कि सिम्युलेटर में UIDeviceBatteryState अज्ञात वापस लौटाया जाएगा।)

आप UIDeviceBatteryStateUnplugged अधिसूचनाओं को सुनना और बैटरी मॉनिटरिंग उचित रूप से सेट करना चाहते हैं।