ICS 和 JB 有一个操作系统设置:“振动环”。我尝试了下一个代码尝试获取状态,但值不一样。我可以使用广播或其他方法吗?
AudioManager audioManager = (AudioManager) this.getApplicationContext()
.getSystemService(Context.AUDIO_SERVICE);
boolean bVibrateRing = audioManager
.shouldVibrate(AudioManager.VIBRATE_TYPE_RINGER);
在 ICS 声音模式下,当检查“振动环”时,它会是真的。但在 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
没有关于“振动环”的信息。
感谢您的任何提示和时间。