2010-02-12 18 views
51

एक बार ACTION_NEW_OUTGOING_CALL प्रसारित हो गया है, मुझे अन्य पार्टी के उत्तर की निम्न घटना को कैप्चर करने की आवश्यकता है। क्या आप सलाह दे सकते हैं कि कृपया इसे कैसे प्राप्त किया जाए? मुझे पता है कि यह संभव है क्योंकि एंड्रॉइड डायलर ऐप हरे एंड्रॉइड आइकन को व्यक्ति के फोटो में उठाए जाने पर उत्साहित करता है। धन्यवाद!पता लगाएं कि आउटगोइंग कॉल का उत्तर दिया गया है

अद्यतन: मैंने एंड्रॉइड पर आउटगोइंग कॉल को संभालने वाले ऐप के स्रोत पर एक नज़र डाली है। मैं ContactsUtils में निम्न विधि देखा:

/** 
* Kick off an intent to initiate a call. 
*/ 

public static void initiateCall(Context context, CharSequence 
phoneNumber) { 
    Intent intent = new Intent(Intent.ACTION_CALL_PRIVILEGED, 
      Uri.fromParts("tel", phoneNumber.toString(), null)); 
    context.startActivity(intent); } 

मुझे लगता है कि मेरा उत्तर गतिविधि Intent.ACTION_CALL_PRIVILEGED के लिए सुन रहा है। तो मेरे प्रश्न को दोबारा लिखने के लिए: क्या किसी को पता है कि कौन सी गतिविधि Intent.ACTION_CALL_PRIVILEGED संभालती है? उन्नत

+0

क्या आपको अपनी समस्या का हल मिल गया? मैं भी वही समाधान ढूंढ रहा हूं। मैं जानना चाहता हूं कि दूसरे एंड यूज़र ने कॉल उठाया है या उसने –

+0

डिस्कनेक्ट कर दिया है वर्तमान में यह पता लगाना संभव नहीं है कि उन्होंने वास्तव में कब उठाया है; कॉलर ऐप इसके लिए एक आंतरिक मंशा का उपयोग करता है। – mobilekid

+0

हाँ, मैंने आज भी यह निष्कर्ष निकाला है: - |, वैसे भी धन्यवाद –

उत्तर

3

में धन्यवाद, इसे बाहरी ऐप के रूप में कैप्चर करने की आवश्यकता नहीं है। हरा एंड्रॉइड आइकन उस एप्लिकेशन का एक हिस्सा है जो कॉल को नियंत्रित करता है, इसलिए आइकन को बदलने के लिए प्रसारण की आवश्यकता नहीं होती है।

+4

हां, हालांकि , मुझे इस घटना को पकड़ने की ज़रूरत है! – mobilekid

7

मुझे नहीं लगता कि ऐसा एपीआई है और उसी कारण से डीटीएमएफ भेजने के लिए कोई एपीआई नहीं है क्योंकि आप यह नहीं बता सकते कि कॉल कब कनेक्ट हो रहा है।

1

एकमात्र तरीका यह है कि आप ऐसा करने में सक्षम हो सकते हैं लॉगकैट लॉग को पार्स कर रहा है, उसके लिए कोई फोनस्टेट लिस्टनर ईवेंट उपलब्ध नहीं है।

कुछ यहाँ इसके लिए पूछ रहे हैं: https://code.google.com/p/android/issues/detail?id=14266

वैसे भी, Android 4.2 से ऊपर के संस्करणों में के रूप में Logcat "सैंडबॉक्स" है यह असंभव हो सकता है ...

+0

यदि हम अपने ऐप के targetSdkVersion को <4.2 पर सेट करते हैं। क्या हम लॉगकैट का उपयोग कर सिस्टम लॉग पढ़ सकते हैं? –

+1

मुझे डर नहीं है। क्योंकि यह फोन ऐप के लॉग हैं जो रेत के बक्से हैं। इससे कोई फर्क नहीं पड़ता कि आपका ऐप किस एसडीके का उपयोग कर रहा है। –

2

जहां तक ​​एंड्रॉयड के टेलीफोनी प्रबंधक यू का संबंध है नहीं कर सकते हैं प्रोग्रामेटिक रूप से पता लगाएं कि कॉल का उत्तर दिया गया है या नहीं। यह कहना है कि आपके पास यह जानने का विकल्प नहीं है कि उपयोगकर्ता ने दूसरे छोर पर फोन कब उठाया था। एंड्रॉइड को टेलीफ़ोनी मैनेजर के 3 राज्य मिल गए हैं और उनमें से कोई भी यह पता लगाने में सक्षम नहीं है कि कॉल वास्तव में उत्तर दिया गया था या नहीं (आउटपुट कॉल के मामले में)

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