How to turn off all sounds on Android

I am developing on Android. I have a view with ToggleButton on it that when pressed it will mute until ToggleButton is pressed again.

I currently have this code. I see registration events, but the sound does not turn off. Can someone give an idea?

public void onToggleClicked(View view) { Log.i("onToggleClicked", "ToggleClick Event Started"); // Is the toggle on? boolean on = ((ToggleButton) view).isChecked(); if (on) { Log.i("onToggleIsChecked", "ToggleClick Is On"); //turn off sound, disable notifications amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true); Log.i("STREAM_SYSTEM", "Set to true"); //notifications amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); Log.i("STREAM_NOTIFICATION", "Set to true"); //alarm amanager.setStreamMute(AudioManager.STREAM_ALARM, true); Log.i("STREAM_ALARM", "Set to true"); //ringer amanager.setStreamMute(AudioManager.STREAM_RING, true); Log.i("STREAM_RING", "Set to true"); //media amanager.setStreamMute(AudioManager.STREAM_MUSIC, true); Log.i("STREAM_MUSIC", "Set to true"); } else { Log.i("onToggleIsChecked", "ToggleClick Is Off"); // turn on sound, enable notifications amanager.setStreamMute(AudioManager.STREAM_SYSTEM, false); Log.i("STREAM_SYSTEM", "Set to False"); //notifications amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false); Log.i("STREAM_NOTIFICATION", "Set to False"); //alarm amanager.setStreamMute(AudioManager.STREAM_ALARM, false); Log.i("STREAM_ALARM", "Set to False"); //ringer amanager.setStreamMute(AudioManager.STREAM_RING, false); Log.i("STREAM_RING", "Set to False"); //media amanager.setStreamMute(AudioManager.STREAM_MUSIC, false); Log.i("STREAM_MUSIC", "Set to False"); } Log.i("onToggleClicked", "ToggleClick Event Ended"); } 

Thanks in advance!

+6
source share
1 answer

I managed to get it working by changing the event to a listener

  public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //create the toggle button ref and instantiate ToggleButton tb = (ToggleButton)this.findViewById(R.id.tglSetStatus); tb.setTextOff(getString(R.string.available_status)); tb.setTextOn(getString(R.string.driving_status)); //default to being available tb.setChecked(false); // attach an OnClickListener tb.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // your click actions go here Log.i("onToggleClicked", "ToggleClick Event Started"); //an AudioManager object, to change the volume settings AudioManager amanager; amanager = (AudioManager)getSystemService(AUDIO_SERVICE); // Is the toggle on? boolean on = ((ToggleButton)v).isChecked(); if (on) { Log.i("onToggleIsChecked", "ToggleClick Is On"); //turn ringer silent amanager.setRingerMode(AudioManager.RINGER_MODE_SILENT); Log.i("RINGER_MODE_SILENT", "Set to true"); //turn off sound, disable notifications amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true); Log.i("STREAM_SYSTEM", "Set to true"); //notifications amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); Log.i("STREAM_NOTIFICATION", "Set to true"); //alarm amanager.setStreamMute(AudioManager.STREAM_ALARM, true); Log.i("STREAM_ALARM", "Set to true"); //ringer amanager.setStreamMute(AudioManager.STREAM_RING, true); Log.i("STREAM_RING", "Set to true"); //media amanager.setStreamMute(AudioManager.STREAM_MUSIC, true); Log.i("STREAM_MUSIC", "Set to true"); } else { Log.i("onToggleIsChecked", "ToggleClick Is Off"); //turn ringer silent amanager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); Log.i(".RINGER_MODE_NORMAL", "Set to true"); // turn on sound, enable notifications amanager.setStreamMute(AudioManager.STREAM_SYSTEM, false); Log.i("STREAM_SYSTEM", "Set to False"); //notifications amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false); Log.i("STREAM_NOTIFICATION", "Set to False"); //alarm amanager.setStreamMute(AudioManager.STREAM_ALARM, false); Log.i("STREAM_ALARM", "Set to False"); //ringer amanager.setStreamMute(AudioManager.STREAM_RING, false); Log.i("STREAM_RING", "Set to False"); //media amanager.setStreamMute(AudioManager.STREAM_MUSIC, false); Log.i("STREAM_MUSIC", "Set to False"); } Log.i("onToggleClicked", "ToggleClick Event Ended"); } }); 

I found an entry by looking at these questions: How to turn off all sounds and vibration through the Android API and this one: attach onClickListener to ToggleButton

+7
source

Source: https://habr.com/ru/post/925031/


All Articles