我想在通话时禁用播放闹钟。 只能听到通话铃声而不是闹铃音。
怎么做?
答案 0 :(得分:0)
从活动,服务或您拥有上下文对象的任何地方:
AlarmManager am = (AlarmManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setStreamMute(AudioManager.STREAM_ALARM, true);
请记住取消静音。或者,如果在呼叫结束后您的进程不需要,系统会将其销毁 - 静音就会消失。
但是,如果让您的进程保持活动状态,那么保持对AlarmManager的引用非常重要。我发现的一个错误是,如果您拨打setStreamMute(..., true)
然后丢失了引用,无论您拨打setStreamMute(..., false)
多少次,它都不会取消静音。
所以只需保持对AudioManager的静态引用。