2010-04-13 9 views
9

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.

Respuesta

0

Yo también tengo problemas para desactivar esta función.

He utilizado el conjunto de AudioManager VibrateSetting, chucking en AudioManager.VIBRATE_TYPE_NOTIFICATION y 0, pero todavía vibra cuando se recibe un mensaje de texto.

Me pregunto si hay una forma de anular completamente esta característica ahora ...

creo que el método de cancelar vibrador() es una vibración que está actualmente en curso.

1

Lo sentimos, este es un error conocido en la aplicación Teléfono; actualmente no escucha las transmisiones AudioManager.RINGER_MODE_CHANGED_ACTION (lo que le indicaría que detenga el timbre y la vibración). Recomiendo presentar un error al b.android.com.

0

¿Has probado el permiso MODIFY_AUDIO_SETTINGS? SDK dice: Permite que una aplicación modifique la configuración de audio global.

Cuestiones relacionadas