如何在通话过程中禁用播放闹钟

时间:2011-10-28 11:04:29

标签: android alarmmanager

我想在通话时禁用播放闹钟。 只能听到通话铃声而不是闹铃音。

怎么做?

1 个答案:

答案 0 :(得分:0)

从活动,服务或您拥有上下文对象的任何地方:

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

请记住取消静音。或者,如果在呼叫结束后您的进程不需要,系统会将其销毁 - 静音就会消失。

但是,如果让您的进程保持活动状态,那么保持对AlarmManager的引用非常重要。我发现的一个错误是,如果您拨打setStreamMute(..., true)然后丢失了引用,无论您拨打setStreamMute(..., false)多少次,它都不会取消静音。

所以只需保持对AudioManager的静态引用。