应用程序销毁后,保持设备静音

时间:2013-12-31 17:21:57

标签: android android-audiomanager

我正在使用AudioManager类来静音设备,除非我的应用程序或用户指定,否则我想保持设备静音,主要问题是当应用程序关闭时,设备会立即取消静音。 下面是我用来静音设备的代码。

 AudioManager am =  (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
 am.setStreamMute(AudioManager.STREAM_RING, true);

到目前为止,我已尝试了所有这些东西,但我仍然没有弄清楚如何让设备在关闭应用程序后保持静音。 您可以提供任何帮助,我们将不胜感激。

2 个答案:

答案 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); 
}