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.