2013-03-21 10 views
42

नहीं कहा जा रहा है मेरे पास कुछ कोड है जो पता चलता है कि नया वॉयस मेल कब होता है। यह PhoneStateListener.onMessageWaitingIndicatorChanged() कार्यान्वयन पर आधारित है (इसलिए तकनीकी रूप से यह केवल तभी आग लगती है जब MWI सूचक बदलता है, हर नए वॉयस मेल के लिए आवश्यक नहीं है)।फ़ोनस्टेट लिस्टनर ऑन मैसेजवाइटिंग इंडिकेटर चेंज() विश्वसनीय रूप से

यह डिवाइसों के 4.x.x अपडेट तक कई महीनों तक पूरी तरह से काम कर रहा है।

अब, डिवाइस को रीबूट होने पर यह काम करता है, अन्यथा यह बहुत अविश्वसनीय है। मैं अधिसूचना बार में वॉयस मेल आइकन दिखाई दे सकता हूं, लेकिन onMWIChanged में डीबग लॉग चुप रहें।

मुझे पता है कि 4.x.x के साथ एक वॉयस मेल प्रदाता API है। यह सोचकर कि इसमें कनेक्शन हो सकता है, मैंने android.intent.action.NEW_VOICEMAIL और android.intent.action.PROVIDER_CHANGED मेरे रिसीवर के इरादे जोड़े, लेकिन वे आग नहीं लगाते (मेरे BroadcastReceiveronReceive में) या तो (मेरे ऐप का minSdkVersion 8 है)।

+0

4.x.x अद्यतन के साथ, क्या आपके पास काम करने के लिए मैनिफेस्ट में घोषित करने की कोई अनुमति है? बस एक विचार, ओएस – lems111

उत्तर

1

यह एंड्रॉइड डेवलपर्स से एंड्रॉइड 4.0 एपीआई के बारे में एक पोस्ट है।

http://developer.android.com/about/versions/android-4.0.html

आप स्क्रॉल एक वर्ग है नीचे तो के बारे में ध्वनि मेल प्रदाता जहां यह बताते हैं:

क्योंकि एपीआई वर्तमान में तृतीय पक्ष एप्लिकेशन सिस्टम से सभी वॉयस मेल पढ़ने की अनुमति नहीं है , वॉयस मेल एपीआई का उपयोग करने वाले एकमात्र तृतीय-पक्ष ऐप्स वे हैं जिनके पास उपयोगकर्ता को वितरित करने के लिए वॉयस मेल है।

हालांकि, मुझे लगता है कि अगर आप किसी तीसरे पक्ष से वॉयस मेल प्राप्त करने का प्रयास कर रहे हैं और आपकी सेवा से नहीं, तो यह अभी भी संभव हो सकता है। वॉइसमेल कॉन्ट्रैक्ट्स के बारे में इस लिंक को देखें जहां मेरा मानना ​​है कि आपको ऊपर दिए गए कार्यों का उपयोग करने के लिए अपने मेनिफेस्ट में ADD_VOICEMAIL अनुमति की आवश्यकता है।

http://developer.android.com/reference/android/provider/VoicemailContract.html

वहाँ भी नमूने है कि मैं अपने SDK में कहा जाता ध्वनिमेल प्रदाता डेमो को देखने के लिए एक मौका नहीं मिला है। आशा है कि ये आपकी मदद करेगा।

+0

हैलो के नए संस्करणों में यह सुरक्षा अधिक उग्र है - मैं बस इतना करने की कोशिश कर रहा हूं कि नया वॉयस मेल है या नहीं। वॉयस मेल की सामग्री की आवश्यकता नहीं है। अभी तक कोई समाधान नहीं मिला है। – PVS

0

इसे READ_PHONE_STATE अनुमति की आवश्यकता है। हालांकि, अगर यह आपके द्वारा सेट किए जाने से पहले काम करता है।

LISTEN_MESSAGE_WAITING_INDICATOR देखें।

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