Sebastian Nowak Sebastian Nowak - 4 months ago 27
Android Question

Android mute/unmute phone

My goal is to support 2 operations:


  • mute phone (possibly with vibrations enabled/disabled), so when a call or sms is received it won't make noise

  • unmute phone and restore the volume to the state before muting phone



How can I do this? What permissions are required in AndroidManifest?

Thanks

Answer

This is the permission for vibrate into the manifest file

<uses-permission android:name="android.permission.VIBRATE" />

this is for to put the device in silent mode with vibrate

AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

this is for to put into the ringing mode

AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
int maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_RING);

audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audioManager.setStreamVolume(AudioManager.STREAM_RING, maxVolume, AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);