Android - 如何获得振铃状态振动?

时间:2012-08-30 10:29:58

标签: android

ICS和JB的操作系统设置为:“振铃振铃”。我尝试了下一个代码尝试获取状态,但值不一样。我可以使用广播或其他方法吗?

    AudioManager audioManager = (AudioManager) this.getApplicationContext()
            .getSystemService(Context.AUDIO_SERVICE);
    boolean bVibrateRing = audioManager
            .shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER);

在ICS声音模式下,当检查“Vibrate on ring”时,它将是真的。 但在JB中它将是错误的。

我试过像这样的广播:

    receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Bundle extras = intent.getExtras();
            if (extras != null) {
                int nstate = extras
                        .getInt(AudioManager.EXTRA_RINGER_MODE);
                Log.d("receiver", " receiver EXTRA_RINGER_MODE :  "
                        + nstate);
            }
        }
    };
    IntentFilter filter = new IntentFilter(
            AudioManager.RINGER_MODE_CHANGED_ACTION);
    registerReceiver(receiver, filter);

我只能进行下一次模式更改:

RINGER_MODE_NORMAL
RINGER_MODE_SILENT
RINGER_MODE_VIBRATE

没有关于“振铃振动”的信息。

感谢您的任何暗示和时间。

1 个答案:

答案 0 :(得分:3)

下一个代码可以检查状态:

Settings.System.getInt(this.getApplicationContext().getContentResolver(),
                       "vibrate_when_ringing", 0);