Android4.0 监听 android 手机情景模式(有声、静音、振动)

当用户设置情景模式时,系统会广播一个 “android.media.RINGER_MODE_CHANGED”消息,于是我们可以定义一个广播接收器,监听此消息,然后通过 AudioManager 提供的接口判断当前的情景模式做出特定的处理。

代码示例:

private BroadcastReceiver mRingModeReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals(AudioManager.RINGER_MODE_CHANGED_ACTION)) {
                AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
                final int ringerMode = am.getRingerMode();
                switch (ringerMode) {
                    case AudioManager.RINGER_MODE_NORMAL:
                        //normal
                        break;
                    case AudioManager.RINGER_MODE_VIBRATE:
                        //vibrate
                        break;
                    case AudioManager.RINGER_MODE_SILENT:
                        //silent
                        break;
                }
            }
        }
    };

做出相应的处理就行了。

原文地址:https://www.cnblogs.com/lovejoy/p/3374198.html