我正在使用以下功能(在“活动”中)来检测音量按钮的点击情况:

    @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,它在其视图中将音量条表示为“垂直”搜索条。
当显示popupwindow时,直到我放弃了popupwindow,才调用我活动中的onKeyDown。

有什么建议如何解决这个问题?还有另一种检测音量按钮点击的方法吗?非常感谢您的帮助

最佳答案

不确定实际使用该Popup的方式,但是如果使用Dialog,则可以访问onKeyDown();。对话框。

http://developer.android.com/reference/android/app/Dialog.html#onKeyDown%28int,%20android.view.KeyEvent%29

关于android - 弹出窗口可见时未调用onKeyDown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18760463/

10-15 15:43