Android ICS controla el modo silencioso apagado, vibrar o silenciar

He buscado por todas partes para encontrar una respuesta a esto, y hay MUCHAS preguntas sobre el audio en Android, pero ninguna que pueda encontrar que hable sobre las nuevas configuraciones en ICS.

Mi aplicación tiene una función donde los usuarios pueden presionar un botón y el timbre del teléfono se mantendrá en silencio, sin vibración. Aquí está mi código, que hasta ahora ha funcionado bien:

        mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
        mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        mAudioManager.setStreamVolume(AudioManager.STREAM_RING, 0, 0);

Ahora, lo que sucede es que cuando el usuario presiona el botón, el volumen sube a 0, pero el teléfono, específicamente el Galaxy S3, tiene una vibración corta. Luego, en Configuración-> Sonido, el Modo silencioso se ha cambiado de Desactivado a Vibrar. Así que cuando suceden ciertas cosas, todavía tiene esa breve notificación de vibración. No he podido probar lo suficiente como para saber qué sucede específicamente para que vibre de esa manera, pero ese no es el punto de la pregunta.

Mi pregunta es ¿cómo podemos controlar la configuración del modo silencioso de ICS: Desactivar, Vibrar y Silencio? Quiero poder configurarlo en Silencio cuando presionan ese botón, y luego volver a Desactivar, o lo que sea que tuvieran configurado, cuando lo presionen de nuevo. Intenté usar el método mAudioManager.setStreamMute, pero este no es el efecto deseado, y tampoco cambia la configuración del Modo silencioso.

Gracias de antemano por cualquier ayuda, es muy apreciado !!

Pablo

Respuestas a la pregunta(1)

Su respuesta a la pregunta