如何在接听电话时停止电话铃声,但不要全局静音

mbr*_*brc 4 android

我知道如何在手机响铃时全局静音:

AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);                  
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
Run Code Online (Sandbox Code Playgroud)

但我想静音电话铃声而不是全球静音.就像你点击手机上的声音按钮一样,它就会停止响铃.

我该如何以编程方式执行此操作?

And*_*rew 7

当手机处于振铃状态时,你可以在铃声流上静音,然后在铃声结束后再打开它.您可以使用内容观察器来检查手机的当前状态.我想从ICS开始,铃声和通知声音都在同一个流上播放,我想不出另一种方法.它确实意味着当手机响铃时你的通知没有声音.

audioManager.setStreamMute(AudioManager.STREAM_RING, true);
Run Code Online (Sandbox Code Playgroud)