2009-10-07 3 views
6

मेरे ऐप के कुछ भाग हैं जो उपयोगकर्ता पर हाइलाइट करना बेहतर होगा अगर वे फोन पर हों।क्या यह बताने का कोई तरीका है कि उपयोगकर्ता का उपयोग फ़ोन पर होने पर किया जा रहा है या नहीं?

क्या यह देखने के लिए कोई कॉल है कि हम फोन पर हैं या नहीं? दुर्भाग्यवश, स्पष्ट कारणों से एपीआई दस्तावेज़ों में जांच करने के लिए "कॉल" एक भयानक शब्द है।

+0

यहां परिदृश्य है। बॉब जिल से कॉल प्राप्त करता है। जब कॉल होता है तो बॉब मेरे आवेदन का उपयोग नहीं कर रहा है। जिल मेरे ऐप में संग्रहीत बॉब से कुछ जानकारी मांगता है। बॉब, फोन पर रहते हुए, होम बटन दबाता है, फिर मेरा ऐप चलाता है। इस बिंदु पर मैं यह जानना चाहता हूं कि बॉब फोन पर बात कर रहा है या फोन पर नहीं होने पर बॉब सिर्फ ऐप चला रहा है। ऐप चल रहा है, जबकि ऐप चल रहा है, मुझे फोन कॉल आने की परवाह नहीं है – Michael

+0

ग्रेट प्रश्न। मैं भी जानना चाहता हूं। – Jordan

उत्तर

2

कोरटेलेफ़ोनी फ्रेमवर्क आपको बता सकता है।

CTCallCenter currentCalls विधि वर्तमान में सक्रिय सेलुलर कॉल का एक सेट देता है।

0

जब आईफोन को कॉल प्राप्त होता है, तो आवेदन निकलता है। आप एक कॉलबैक शान से इस घटना को संभालने के लिए रजिस्टर कर सकते हैं, देखें:

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/applicationWillTerminate:

के बाद कॉल समाप्त हो गया है, आपके आवेदन की पुनः लांच होगा।

अनुप्रयोग जो कॉल के दौरान अपने राज्य की रक्षा करने के लिए प्रकट सिर्फ अच्छी तरह से लिखा जाता है :)


Arggh! मैंने बस अपना वास्तविक प्रश्न पढ़ा है।

मुझे नहीं मिल रहा है, और न ही मुझे फोन एप्लिकेशन तक पहुंचने के लिए किसी भी एपीआई के बारे में पता है। मेरी एकमात्र सलाह यह होगी कि फोन किसी अन्य की तरह एक एप्लीकेशन है - और यह सभी अनुप्रयोगों को उपलब्ध http सुरंग के माध्यम से जानकारी प्रकाशित कर सकता है।

मुझे आश्चर्य है कि क्या आपके पास "फ़ोन पर हूं" बटन हो सकता है, तो उपयोगकर्ता एक ही परिणाम प्राप्त करने के लिए दबा सकता है?

2

कॉल आने पर एप्लिकेशन बाहर नहीं निकलता है, यह एक निष्क्रिय स्थिति में संक्रमण होता है। इस तरह जब iPhone लॉक किया गया है के रूप में

- (void)applicationWillResignActive:(UIApplication *)application 

इस विधि भी अन्य मामलों में भी कहा जाता है, और आप का निर्धारण करने का कोई तरीका नहीं है अगर यह इनकमिंग फ़ोन कॉल कि वजह से था: निम्न विधि UIApplicationDelegate पर बुलाया जाना चाहिए यह।

5

[[UIScreen mainScreen] bounds] और [[UIScreen mainScreen] applicationFrame] के बीच आकार में अंतर को देखें। यदि diff 20 पिक्सेल है और आप स्टेटस बार छुपा नहीं रहे हैं, तो उपयोगकर्ता शायद कॉल पर नहीं हैं। यदि अंतर 40 पिक्सल है, तो आपके उपयोगकर्ता शायद कॉल पर हैं, क्योंकि कॉल के दौरान दिखाई देने वाली चमकदार हरे रंग की स्थिति बार सामान्य स्थिति पट्टी के रूप में लगभग दोगुनी है।

मैंने पहले ऐसा नहीं किया है, इसलिए वाईएमएमवी। शुभकामनाएं और अगर यह काम करता है तो मुझे बताएं!

+3

मैंने सोचा है कि यह जवाब है, लेकिन टेदरिंग एक ही चीज करता है ...: ओ ( – Michael

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^