Отключить уведомления по SMS и электронной почте в Android

#java #android #android-audiomanager

#java #Android #android-audiomanager

Вопрос:

Есть ли какой-либо способ (или нестандартный способ) отключить оповещения по электронной почте и sms при запуске приложения для Android? Я нашел способ отключить звук телефонного звонка, но я хочу, чтобы звуковые / вибрационные оповещения не появлялись. Я видел некоторые приложения для часов перед сном, которые отключают уведомления, и они работают нормально.

Есть мысли о том, как это закодировать?

Ответ №1:

Согласно документам API:

 AudioManager aM = getSystemService(Context.AUDIO_SERVICE);
aM.setRingerMode(AudioManager.RINGER_MODE_SILENT);
aM.setVibrateSetting (AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF)
  

 public void setRingerMode (int ringerMode)
  

Начиная с: Уровень API 1

Устанавливает режим звонка.

Тихий режим отключит громкость и не будет вибрировать. Режим вибрации отключит громкость и вибрирует. Обычный режим будет слышен и может вибрировать в соответствии с пользовательскими настройками.

Параметры

Отключите режим звонка, один из режимов RINGER_MODE_NORMAL, RINGER_MODE_SILENT или RINGER_MODE_VIBRATE.


 public void setVibrateSetting (int vibrateType, int vibrateSetting)
  

Начиная с: Уровень API 1

Устанавливает настройку для того, когда должен вибрировать тип вибрации.

Этот метод следует использовать только в приложениях, которые заменяют управление настройками звука на всей платформе или основное приложение телефонии.

Параметры

vibrateType Тип вибрации. Одно из VIBRATE_TYPE_NOTIFICATION или VIBRATE_TYPE_RINGER.

виброусТановка параметра вибрации, одного из VIBRATE_SETTING_ON, VIBRATE_SETTING_OFF или VIBRATE_SETTING_ONLY_SILENT.

Комментарии:

1. Спасибо. Ты приблизил меня на один шаг. Есть ли способ отключить звуковые уведомления тоже? У меня отключен звонок, отключена вибрация, но когда приходит электронное письмо или SMS, звуковой сигнал все еще воспроизводится. Вы знаете, как это отключить?

2. Похоже, это тоже необходимо. Спасибо! audio.setStreamMute (Аудиоманеджер. STREAM_NOTIFICATION, true);