Как сделать уведомление тихим с помощью 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);
Другие вопросы по тегам