4

我知道如何在电话响铃时全局静音:

AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);                  
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

但我想在不使其全球静音的情况下将电话铃声静音。就像您单击手机上的声音按钮并且它停止响铃一样。

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

4

1 回答 1

7

您能否在电话处于振铃状态时将振铃流静音,然后在振铃完成后将其重新打开。您可以使用内容观察器来检查手机的当前状态。我认为从 ICS 开始,铃声和通知声音都在同一个流上播放,我想不出另一种方法来做到这一点。这确实意味着在电话响铃时您不会收到通知的声音。

audioManager.setStreamMute(AudioManager.STREAM_RING, true);
于 2012-08-20T13:50:22.733 回答