verificar ver testm testear software saber probar para movil microfono estado esta diagnostico dañado como celular aplicacion android

android - ver - testm



Cómo verificar si el teléfono está silenciado, vibrando o sonando en Android (2)

Este es mi código para silenciar / activar el teléfono. Pero me gustaría comprobar si el teléfono ya está en silencio y si no lo está, entonces lo silenciaré. Si está en vibrar entonces lo haré normal.

¿Puedo comprobar estos estados de alguna manera?

public void changeRingerMode(Context context){ AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); /** * To Enable silent mode..... */ audio.setRingerMode(AudioManager.RINGER_MODE_SILENT); /** * To Enable Ringer mode..... */ audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL); }


En mi caso, descubrí que incluso si la configuración de mi teléfono vibra, devolverá AudioManager.RINGER_MODE_SILENT cuando esté en silencio, por lo que encontré una forma de verificar el modo de vibración si:

public static boolean checkVibrationIsOn(Context context){ boolean status = false; AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); if(am.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE){ status = true; } else if (1 == Settings.System.getInt(context.getContentResolver(), "vibrate_when_ringing", 0)) //vibrate on status = true; return status; }

Y para obtener la imagen completa, para saber si el timbre está activado:

public static boolean checkRingerIsOn(Context context){ AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); return am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL; }


prueba esto:

switch( audio.getRingerMode() ){ case AudioManager.RINGER_MODE_NORMAL: break; case AudioManager.RINGER_MODE_SILENT: break; case AudioManager.RINGER_MODE_VIBRATE: break; }