我正在使用AudioManager类来静音设备,除非我的应用程序或用户指定,否则我想保持设备静音,主要问题是当应用程序关闭时,设备会立即取消静音。 下面是我用来静音设备的代码。
AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
am.setStreamMute(AudioManager.STREAM_RING, true);
到目前为止,我已尝试了所有这些东西,但我仍然没有弄清楚如何让设备在关闭应用程序后保持静音。 您可以提供任何帮助,我们将不胜感激。
答案 0 :(得分:2)
根据文档发生这种情况:
“静音命令受到保护以防止客户端进程死亡:如果流上有活动静音请求的进程终止,则此流将自动取消静音。”
改为使用setStreamVolume()
(至0)。
编辑:我看到在某些设备上,这只会为铃声设置为1。
使用setRingerMode()
代替RINGER_SILENT。
答案 1 :(得分:1)
尝试设置振铃模式:
public void setRinger2Silent()
{
AudioManager audioManager= (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}