我在preferences.xml中添加了一个复选框首选项。有一个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;对于通知类型的声音,有一个与铃声管理器关联的TYPE_NOTIFICATION方法。有什么办法让这一切安静下来吗?
我知道有一种方法可以让它在使用AudioManager时保持沉默。setRingerMode(AudioManager.RINGER_MODE_SILENT);,但是在这里,铃声管理器正在被使用。
编辑--计算出了(标志是从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;`发布于 2017-06-24 09:48:17
不需要做所有这些...if,您正在显示使用NotificationCompact.Builder的通知,请执行如下所示的操作
notificatiomCompactBuilder.setDefaults(4);https://stackoverflow.com/questions/41661351
复制相似问题