程序化静音铃声仍在某些手机上播放

时间:2012-12-22 15:25:02

标签: android ringtone

我正在创建一个“请勿打扰”应用。因此,正常的做法是将手机设置为静音,当激活时,然后当呼叫通过时,假设响铃,我只需将振铃状态更改为"normal"

问题是“音符2”确实提高了音量,但你听不到铃声,而在“htc one s”中,当铃声状态改变时,铃声是sounded

怎么可能? 我试着用

audio_mngr.setStreamVolume(AudioManager.STREAM_RING, 0, 0); 

然后玩它,但不管我尝试它还是一样。

有没有人对如何以另一种方式做到这一点有另一种想法? 谢谢!

2 个答案:

答案 0 :(得分:1)

如果未使用AudioManager.STREAM_RING,这些手机可能会错误地使用以下其中一种。也许检查这些设置量并测试振铃音量将确认:

AudioManager.STREAM_MUSIC
AudioManager.STREAM_ALARM
AudioManager.STREAM_NOTIFICATION
AudioManager.STREAM_SYSTEM
AudioManager.STREAM_VOICECALL

答案 1 :(得分:0)

使用getRingerMode()中的AudioManager方法。

AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

switch (am.getRingerMode()) {
    case AudioManager.RINGER_MODE_SILENT:
        Log.i("MyApp","Silent mode");
        break;
    case AudioManager.RINGER_MODE_VIBRATE:
        Log.i("MyApp","Vibrate mode");
        break;
    case AudioManager.RINGER_MODE_NORMAL:
        Log.i("MyApp","Normal mode");
        break;
}