2017-01-15 6 views
2

preferences.xmlにチェックボックスの設定を追加しました。すべての設定を定義したsettings.javaファイルがあります。 メッセージが入ったときに通知を表示する別個のJavaファイルがあります。 チェックボックスがオンの場合、通知を無音にします。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; 

音の通知タイプ用の着信音マネージャに関連付けられTYPE_NOTIFICATION方法があります。これを静かにする方法はありますか?

AudioManagerを使用して静かにする方法があります。 setRingerMode(AudioManager.RINGER_MODE_SILENT); しかし、ここで着メロマネージャが使用されています。

Edit--

はそれを考え出し (フラグである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

これをすべて行う必要はありません...あなたがnotifiを表示している場合NotificationCompact.Builderを使用するカチオンは、以下のようになります。

notificatiomCompactBuilder.setDefaults(4); 
関連する問題