【问题标题】:How to make Notification Silent using RingtoneManager如何使用 RingtoneManager 使通知静音
【发布时间】:2017-01-15 12:59:53
【问题描述】:

我在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); 但是这里使用的是铃声管理器。

编辑--想通了 (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;`

【问题讨论】:

    标签: java android uri android-preferences ringtonemanager


    【解决方案1】:

    无需执行所有这些操作...如果您使用 NotificationCompact.Builder 显示通知,请执行以下操作

    notificatiomCompactBuilder.setDefaults(4);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 2017-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多