Estoy tratando de cambiar el modo de timbre del teléfono a RINGER_MODE_SILENT cuando se recibe una llamada usando las siguientes líneas de código.Android: el modo de timbre cambiado a silencioso no detiene la vibración del teléfono
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
Mientras que el teléfono deja de sonar que continuará vibrando a pesar de la documentación de RINGER_MODE_SILENT dice que también debe dejar de vibrar.
estoy usando el SDK 1.6
ACTUALIZACIÓN:
Como no he encontrado todavía una solución, me trataron de desactivar los ajustes de vibración de forma manual.
am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
Pero esto tampoco impide que la forma del teléfono vibre cuando recibe una llamada.
¿Alguna idea?
ACTUALIZACIÓN 2:
Hoy me trató de resolver el problema mediante la cancelación de la vibración a través de un objeto de vibraciones.
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();
Nuevamente, sin éxito. Ahora me estoy quedando sin ideas y preguntándome si es posible detener la vibración en absoluto.
Actualización 3:
he descubierto otro hecho interesante cuando he releído el documentation of the Vibrator class. La documentación dice:
"Si su proceso finaliza, cualquier vibración que haya comenzado se detendrá".
Esto me suena como si la vibración estuviera vinculada al proceso que la inició y no se puede acceder desde otro proceso.