Quiero desactivar la configuración de vibración del dispositivo cuando recibe una llamada. Implementé un BroadcastReceiver para esta característica que realiza la acción al recibir la transmisión PHONE_STATE
. El problema es que no puedo desconectar las vibraciones. He intentado el siguiente:La configuración de vibración no se desactiva al recibir llamadas entrantes - Android
AudioManager audioManager = (AudioManager)
context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,
AudioManager.VIBRATE_SETTING_OFF);
o
Vibrator vib = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();
El primer enfoque parece ideal para mí. Incluso funciona para activar las vibraciones cuando se recibe una llamada. Pero, no puedo desactivarlos en este escenario.
¿Alguien ha intentado esto?
Editar: Comprobé el código de la aplicación del teléfono de Android. Siguiente código está presente en Ringer.java:
if (shouldVibrate() && mVibratorThread == null) {
mContinueVibrating = true;
mVibratorThread = new VibratorThread();
mVibratorThread.start();
}
Un hilo se pone en marcha inicialmente por aplicación de teléfono que vibra el teléfono. Cuando cambio la configuración de vibración a desactivada, esta comprobación se omite pero el hilo ya iniciado se sigue ejecutando.
Esto también explica cómo se pueden activar las vibraciones cuando llega una llamada entrante. En ese caso, el hilo no se está ejecutando inicialmente. Luego, se inicia cuando enciendo la configuración de vibración. No creo que haya ninguna solución al problema sin cambiar la aplicación del teléfono.
también me interesaría. Hasta donde yo sé, es así: el hilo o el contexto que inicia la vibración es el único que puede detenerlo más tarde. sobre cómo cambiar la configuración de vibración: parece haber un error en Android. no se envía ninguna notificación a los oyentes si la configuración cambia, por lo tanto, la vibración no puede detenerse. – SimonSays
Hola Aman, ¿Has resuelto este problema? Estoy enfrentando el mismo problema, espero que me ayuden con respecto a lo mismo. –