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 に答える