我正在使用以下功能(在活动中)来检测音量按钮点击次数:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN || keyCode == KeyEvent.KEYCODE_VOLUME_UP){
if(mAudioManager != null){
int curVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
Intent intent = new Intent();
intent.setAction(VerticalSeekBar.ACTION_VOLUME_CHANGED);
intent.putExtra(VerticalSeekBar.ARGUMENT_VOLUME_VALUE,curVolume);
sendBroadcast(intent);
return true;
}
}
return super.onKeyDown(keyCode, event);
}
事情是我有popupwindow,它在视图中将音量条表示为垂直搜索栏。 当显示弹出窗口时,我的活动中的onKeyDown没有被调用,直到弹出窗口为止。
有任何建议如何解决这个问题?还有另一种检测音量按钮点击的方法吗?非常感谢你的帮助
答案 0 :(得分:3)
尝试为PopupWindow类设置focusable false。
mMyPopupWindow.setFocusable(false);
答案 1 :(得分:0)
不确定您是如何实际使用该弹出窗口的,但是如果使用Dialog,则可以访问onKeyDown();对话。