Я не уверен, что это ответ, который вы ищете, но, возможно, стоит попробовать.
OnKeyListener
для определенного вида будет вызываться только в том случае, если клавиша нажата, когда этот вид имеет фокус. Вы можете попытаться убедиться, что он имеет фокус с:
videoPreview.requestFocus();
или поместите OnKeyListener
на макет (например, LinearLayout
), который содержит все остальное (включая CaptureView
). Что-то вроде:
LinearLayout ll = (LinearLayout) findViewById(R.id.VideoContainer);
ll.setOnClickListener(new OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
// ...
}
);