Android 4.0+には、[設定]-> [ユーザー補助]-> [すべてのサウンドをオフにする]オプションがあります。このオプションをオンにすると、Androidデバイスで実行されているすべてのアプリケーション私のアプリケーションはアラーム音を鳴らさなければならないので、誰かがそのオプションをチェックした場合、アプリは音を出さないので、ユーザーがアプリケーションを起動するたびにそのオプションを自動的にオフにする必要があります。コードを介して、どうすればそれを行うことができますか?
誰かがコードの一部を共有できると役に立ちます。 AudioManagerを試しましたが、モバイルオーディオが有効になっている場合にのみ機能します。
amanger.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
amanger.setStreamMute(AudioManager.STREAM_MUSIC, false);
amanger.setStreamVolume(AudioManager.STREAM_MUSIC,
(int)(amanger.getStreamMaxVolume(AudioManager.STREAM_MUSIC)*(75.0/100.0)), 0);
次の機能を使用して、システムボリュームを無効にすることができます
public static void disableSound(Context context)
{
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, 0);
}
再度有効にする場合は、パラメータを変更するだけです
audioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 10, 0);
音量範囲は0〜10