我在preferences.xml
中添加了一个复选框偏好设置。有一个settings.java
文件已定义了所有首选项。
现在有一个单独的java文件,它会在消息进入时显示通知。
如果复选框为true,我想使通知无声。
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;
铃声管理器提供了一种TYPE_NOTIFICATION
方法,用于声音通知类型。有没有办法使这个沉默?
我知道有一种方法可以使用AudioManager使其静音。 setRingerMode(AudioManager.RINGER_MODE_SILENT);
但是在这里,正在使用铃声管理器。
修改 - 显示出来 (flag是一个布尔值,它返回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;`
答案 0 :(得分:0)
无需执行所有操作...如果您使用NotificationCompact.Builder显示通知,请执行以下操作
notificatiomCompactBuilder.setDefaults(4);