我遇到了上述问题。
我使用这段代码获取响铃和通知量
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING);
int currentNotif = audio.getStreamVolume(AudioManager.STREAM_NOTIFICATION);
这次跑得很好直到接到电话。 它在调用情况下返回不同的值。 (电话)。我的意思是,如果我没有打电话,这个值就是例如:
currentVolume = 7
currentNotif = 7
当我打电话时,这些值变为
currentVolume = 1
currentNotif = 7
或
currentVolume = 1
currentNotif = 1
我使用三星galaxy s3设备和android 4.1.2。
问题是:
为什么会这样。是OS bug还是Samsung bug?
我会感激任何帮助。
答案 0 :(得分:0)
这不是错误,而是设计。当STREAM_VOICE_CALL正在进行时,所有其他STREAM将以减小的音量下降。用户体验是这样的,在电话呼叫期间,所有其他未静音的音频流(音乐,铃声,通知)将以较低音量播放。
在定制Android OS时,OS,制造商或运营商可以引入这样的AudioPolicy行为。对于这个特殊情况,我在所有Note2(由三星添加)中看到了它,但是在S3上没有看到它。如果可以,请分享您拥有的S3的运营商。