我有一个播放器应用程序,里面有一个用于音量控制的搜索栏。我使用这段代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP)
{
int index = volumeSeekbar.getProgress();
volumeSeekbar.setProgress(index + 1);
return true;
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
int index = volumeSeekbar.getProgress();
volumeSeekbar.setProgress(index - 1);
return true;
}
return super.onKeyDown(keyCode, event);
}
代码运行良好。现在,当我按下硬件音量控制向下/向上按钮时,我的搜索栏会移动。但现在我对 Android 中的音量对话框有疑问。当我按下硬件按钮时,它不再显示。我的意思是图片中的对话框:
我该怎么做才能修复它并像往常一样显示音量对话框?
编辑:
这是我的使用代码AudioManager
:
private void initControls() {
try {
volumeSeekbar = (SeekBar)findViewById(R.id.seekBar1);
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
volumeSeekbar.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
volumeSeekbar.setProgress(audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC));
volumeSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {}
@Override
public void onStartTrackingTouch(SeekBar arg0) {}
@Override
public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
}
});
}
...
}