Ich habe eine Checkbox-Voreinstellung in preferences.xml
hinzugefügt. Es gibt eine settings.java
Datei, die alle Einstellungen definiert hat. Jetzt gibt es eine separate Java-Datei, die eine Benachrichtigung anzeigt, wenn eine Nachricht kommt. Wenn das Kontrollkästchen wahr ist, möchte ich die Benachrichtigung still machen.So machen Sie die Benachrichtigung stumm mit RingtoneManager
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;
Es gibt eine TYPE_NOTIFICATION
Methode mit Klingelton-Manager zugeordnet ist für die Benachrichtigung Art von Sound. Gibt es eine Möglichkeit, dies zu stillen?
Ich weiß, dass es eine Möglichkeit gibt, mit AudioManager leise zu werden. setRingerMode(AudioManager.RINGER_MODE_SILENT);
Aber hier wird Klingeltonmanager verwendet.
Edit-- es heraus (Flag ist ein Boolescher Wert, der das Ankreuzfeld Präferenz resultieren aus SharedPreferences zurückgegeben)
settings.java
File-
public boolean checksilentmode(Context mContext)
{
SharedPreferences prefs= PreferenceManager.getDefaultSharedPreferences(mContext);
return prefs.getBoolean(PREF_SILENT_MODE,DEFAULT_SILENT_MODE);
}
andere Java-File-
`if(flag) //if flag is true ie silent mode is enabled.
{
alarmSound=null;
}
else
{
alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
}
notification.sound = alarmSound;`