web-dev-qa-db-ja.com

Androidでユーザー補助設定のすべてのサウンドをプログラムでオン/オフにするにはどうすればよいですか?

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);
9
akash89

次の機能を使用して、システムボリュームを無効にすることができます

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

2
Sagar Patil