2010-04-13 14 views
9

मैं फोन के रिंगर मोड को RINGER_MODE_SILENT पर बदलने की कोशिश कर रहा हूं जब कॉल कोड की निम्न पंक्तियों का उपयोग करके आने वाली है।एंड्रॉइड: रिंगर मोड चुप हो गया है फोन को कंपन नहीं

AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
am.setRingerMode(AudioManager.RINGER_MODE_SILENT); 

जबकि फोन बंद हो जाता है बज यह कंपन करने के लिए हालांकि RINGER_MODE_SILENT के प्रलेखन कहते हैं कि यह भी हिल बंद कर देना चाहिए जारी है।

मैं एसडीके उपयोग कर रहा हूँ 1.6

अद्यतन:

मैं अभी तक एक समाधान नहीं मिला है, मैं मैन्युअल रूप से कंपन सेटिंग को निष्क्रिय करने की कोशिश की।

am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF); 

लेकिन यह कॉल आने पर फ़ोन फॉर्म को कंपन करने से भी रोकता नहीं है।

कोई विचार?

अद्यतन 2:

आज मैं एक कंपन वस्तु के माध्यम से कंपन रद्द करके समस्या को हल करने की कोशिश की।

Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
vib.cancel(); 

फिर से सफलता के बिना। अब मैं विचारों से बाहर निकल रहा हूं और खुद से पूछ रहा हूं कि कंपन को रोकना संभव है या नहीं।

अद्यतन 3:

मैं एक और दिलचस्प तथ्य जब मैं documentation of the Vibrator class पुन: पढ़ने गया है की खोज की है। दस्तावेज़ीकरण कहता है:

"यदि आपकी प्रक्रिया निकलती है, तो कोई कंपन आपके साथ शुरू हो जाएगी।"

यह मुझे लगता है जैसे कंपन उस प्रक्रिया से जुड़ा हुआ है जिसने इसे शुरू किया है और इसे किसी अन्य प्रक्रिया के रूप में एक्सेस नहीं किया जा सकता है।

उत्तर

0

मुझे भी इस सुविधा को बंद करने में परेशानी हो रही है।

Ive AudioManager की setVibrateSetting का उपयोग किया, AudioManager.VIBRATE_TYPE_NOTIFICATION और 0 में चकित, लेकिन जब भी कोई टेक्स्ट संदेश प्राप्त होता है तब भी यह कंपन होता है।

अगर वहाँ एक तरह से पूरी तरह से इस सुविधा अब ओवरराइड करने के लिए है मैं सोच रहा हूँ ...

मुझे लगता है कि थरथानेवाला के रद्द() प्रणाली कंपन प्रगति पर है कि के लिए है।

1

क्षमा करें, यह फोन ऐप में एक ज्ञात बग है; यह वर्तमान में AudioManager.RINGER_MODE_CHANGED_ACTION प्रसारणों के लिए नहीं सुनता है (जो इसे रिंगर और कंपन को रोकने के लिए कहेंगे)। मैं b.android.com पर एक बग फाइल करने की सलाह देते हैं।

0

क्या आपने MODIFY_AUDIO_SETTINGS अनुमति की कोशिश की है? एसडीके कहते हैं: किसी एप्लिकेशन को वैश्विक ऑडियो सेटिंग्स संशोधित करने की अनुमति देता है।