これに対する答えを見つけるために考えられるあらゆる場所を調べました.Androidのオーディオに関する質問はたくさんありますが、ICSの新しい設定について話しているものは見つかりません.
私のアプリには、ユーザーがボタンを押すだけで、電話の呼び出し音が静かになり、振動がなくなる機能があります。これが私のコードです。これまではうまく機能していました。
mAudioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
mAudioManager.setStreamVolume(AudioManager.STREAM_RING, 0, 0);
ユーザーがボタンを押すと、音量はまだ0になりますが、電話、特にGalaxy S3には短い振動があります. 次に、[設定] -> [サウンド] で、サイレント モードが [オフ] から [バイブレーション] に変更されました。そのため、特定のことが発生するたびに、短いバイブレーション通知が引き続き表示されます. そのように振動するために具体的に何が起こるかを知るのに十分なほど徹底的にテストすることはできませんでしたが、それは問題のポイントではありません.
私の質問は、オフ、バイブレーション、およびミュートの ICS サイレント モード設定をどのように制御できるかということです。そのボタンを押したときにミュートに設定し、もう一度押したときにオフまたは設定したものに戻ることができるようにしたいと考えています。mAudioManager.setStreamMute メソッドを使用してみましたが、これは望ましい効果ではなく、サイレント モードの設定も変更されません。
事前に助けてくれてありがとう、それは大歓迎です!!
ポール