2013-08-07 12 views
9

डायल मैं कॉल के साथ एक कॉल एप्लिकेशन एक नंबर बना रहा हूं और द्वाराछिपाएं DTMF टोन जबकि

String number = "tel:+1234567,890#"; 
Intent c1 = new Intent(android.content.Intent.ACTION_CALL, Uri.parse(number)); 

उसके बाद DTMF टोन भेजने वर्तमान में यह 1234567 डायल कर सकते हैं, के बारे में 3 सेकंड प्रतीक्षा करने के बाद डायल 890 कार्यात्मक ठीक लेकिन यह स्वर के साथ 8 9 0 भेजता है जो कि बहुत ही अनुरूप नहीं है, क्या बिना किसी प्रतिक्रिया के 890 भेजने का कोई तरीका है?

उत्तर

1

डेवलपर्स को सार्वजनिक एपीआई के माध्यम से ऐसा करने का कोई तरीका नहीं है। दुर्भाग्य से, एंड्रॉइड डीटीएमएफ नियंत्रण को बहुत अच्छी तरह से संभाल नहीं करता है। उदाहरण के लिए, एक उपयोगकर्ता के कॉल के दौरान मनमाने ढंग से समय पर डीटीएमएफ नियंत्रण भेजने की अनुमति देने के लिए two year old feature request है; इसे छोड़ दिया गया है।

आप जानते हैं, ACTION_CALL या ACTION_DIAL का उपयोग करने और <number>|,;|<tones> कर DTMF टोन भेज देंगे सीधे के बाद एक फोन से जुड़ा हुआ है, लेकिन वह जहां इस मुद्दे पर उपयोगकर्ता नियंत्रण बंद हो जाता है है।

कोई अतिरिक्त नियंत्रण, जैसे हैंडसेट को अतिरिक्त स्वर भेजने या टोन प्रतिक्रिया को म्यूट करने के लिए, आंतरिक एपीआई, com.android.internal.telephony उल्लेखनीय हैं। नोट stopDtmf() विधि है, जो संभवतया आप जो खोज रहे हैं वह कर देगा, सिवाय इसके कि यह आंतरिक है और इसमें लगातार व्यवहार नहीं हो सकता है।

Here's what the 2.x source looked like for the method। जैसा कि कहा गया है, इस बात की कोई गारंटी नहीं है कि यह काम करेगा और आंतरिक एपीआई का उपयोग करके दृढ़ता से निराश हो जाएगा।

+0

मैंने डीटीएमएफ टन छुपाए अनुप्रयोगों को देखा है। – Deepak

+0

उदाहरण? मैंने ऐसा नहीं देखा है जिसकी जड़ की आवश्यकता नहीं है। –

+0

मुद्दा दो साल से अधिक पुराना है; यह अपनी पांचवीं सालगिरह के करीब है, और [इन पैच] (https://groups.google.com/d/msg/android-contrib/4QqHgLOrBO8/h2DZ5IKXVVsJ) 18 महीने पहले सबमिट और त्याग दिया गया था। मुझे उम्मीद है कि अल्प अवधि में कुछ भी बदल जाएगा, और ध्यान रखें कि अगर वे ऐसा करते हैं, तो यह एंड्रॉइड के पिछले संस्करणों के साथ संगत नहीं होगा। –

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