我注意到在Android 4.x下设置铃声音量为0是不可能的。如果我执行此代码然后转到设置 - >声音 - >我可以看到的卷设置为1.我
audiomanager.setStreamVolume(AudioManager.STREAM_RING, 0, 0);
你知道为什么吗?
我知道我可以使用audiomanager.setRingerMode(RINGER_MODE_SILENT),但让我很生气!因为在这种情况下,我必须“记住”振动是打开还是关闭以再次激活声音。
当然,所有这些都适用于其他Android版本。
答案 0 :(得分:1)
不要使用setStreamMute(),因为它会对您的流程生命周期产生奇怪的副作用。请参阅文档:
静音命令受到客户端进程死亡的保护:如果流上有活动静音请求的进程终止,则此流将自动取消静音。
我担心使用setRingerMode()或RINGER_SILENT的RINGER_VIBRATE是可行的方法,这会产生将流量调零的效果
答案 1 :(得分:0)
尝试setStreamMute而不是相当于将音量设置为0。