2010-04-13 8 views
9

Sto provando a modificare la modalità della suoneria del telefono su RINGER_MODE_SILENT quando una chiamata è in arrivo utilizzando le seguenti righe di codice.Android: la modalità di suoneria modificata in modalità silenziosa non interrompe la vibrazione del telefono

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

Mentre il telefono smette di squillare procedi a vibrare anche se la documentazione di RINGER_MODE_SILENT dice che dovrebbe anche smettere di vibrare.

sto utilizzando l'SDK 1.6

UPDATE:

Come non ho trovato una soluzione ancora, ho cercato di disattivare le impostazioni di vibrazione manualmente.

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

Tuttavia, questo non impedisce al telefono di vibrare quando è in arrivo una chiamata.

Qualche idea?

UPDATE 2:

Oggi cercato di risolvere il problema cancellando la vibrazione tramite un oggetto di vibrazione.

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

Ancora, senza successo. Ora sono a corto di idee e mi chiedo se è possibile interrompere la vibrazione.

UPDATE 3:

ho scoperto un altro fatto interessante quando ho riletto il documentation of the Vibrator class. La documentazione dice:

"Se le vostre uscite di processo, le vibrazioni si è iniziato con fermerà."

Mi sembra che la vibrazione sia collegata al processo che l'ha avviata e non è possibile accedere a un altro processo.

risposta

0

Anche io ho problemi a disattivare questa funzione.

Ive ha utilizzato setVibrateSetting di AudioManager, chucking in AudioManager.VIBRATE_TYPE_NOTIFICATION e 0, ma vibra ancora quando viene ricevuto un messaggio di testo.

Mi chiedo se c'è un modo per ignorare completamente la funzionalità ora ...

Penso metodo di Vibrator annullare() è per una vibrazione che è attualmente in corso.

1

Siamo spiacenti, questo è un bug noto nell'app Telefono; al momento non ascolta le trasmissioni AudioManager.RINGER_MODE_CHANGED_ACTION (che gli direbbero di interrompere la suoneria e le vibrazioni). Raccomando di archiviare un bug allo b.android.com.

0

Hai provato il permesso MODIFY_AUDIO_SETTINGS? SDK dice: Consente a un'applicazione di modificare le impostazioni audio globali.