I tried to bind some actions to a camera button:
videoPreview.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN) {
switch(keyCode) {
case KeyEvent.KEYCODE_CAMERA:
//videoPreview.onCapture(settings);
onCaptureButton();
...
}
}
return false;
}
});
Pressing the button however the application crashes because the original Camera application starts.
Does anyone know how to prevent Camera application start when the camera button is pressed?
Best Solution
In your example you need to return
true
to let it know you "consumed" the event. Like this:It will also only work if the
videoPreview
(or a child element) has focus. So you could either set it to have focus by default:or (prefered) put the listener on the top-level element (eg. a
LinearLayout
,RelativeLayout
, etc).