Как сделать уведомление тихим с помощью RingtoneManager
Я добавил флажок в preferences.xml
, E сть settings.java
файл, который определил все настройки. Теперь есть отдельный файл Java, который отображает уведомление при поступлении сообщения. Если флажок установлен, я бы хотел, чтобы уведомление было молчаливым.
if(PreferenceManager.getDefaultSharedPreferences(Receiver.mContext).getString(Settings.PREF_SILENT_MODE, "").equals("true"))
//Make the notification silent ie.
else
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
notification.sound = alarmSound;
E сть TYPE_NOTIFICATION
метод, связанный с менеджером рингтонов для уведомления типа звука. Есть ли способ заставить это замолчать?
Я знаю, что есть способ заставить его замолчать с помощью AudioManager. setRingerMode(AudioManager.RINGER_MODE_SILENT);
Но здесь используется менеджер рингтонов.
Edit--FIGURED IT OUT(флаг - это логическое значение, которое возвращает результат предпочтения флажка из SharedPreferences)
settings.java
файл-
public boolean checksilentmode(Context mContext)
{
SharedPreferences prefs= PreferenceManager.getDefaultSharedPreferences(mContext);
return prefs.getBoolean(PREF_SILENT_MODE,DEFAULT_SILENT_MODE);
}
Еще один Java-файл
`if(flag) //if flag is true ie silent mode is enabled.
{
alarmSound=null;
}
else
{
alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
}
notification.sound = alarmSound;`
1 ответ
Нет необходимости делать все это... если вы показываете уведомление с помощью NotificationCompact.Builder, сделайте что-то вроде ниже
notificatiomCompactBuilder.setDefaults(4);