Блокировка аппаратной кнопки затвора камеры / захвата камеры Samsung Galaxy on EK-GC200
Я хочу использовать свой собственный модуль камеры в Samsung Galaxy Camera EK-GC200. Я могу получить код ключа для обеих кнопок, но кнопка захвата всегда открывает свое собственное намерение камеры, которое затем, конечно, разрушается с помощью моего собственного модуля камеры. Также кнопки масштабирования всегда показывают всплывающее окно при использовании.
Между тем я обнаружил некоторые темы о том, что некоторые люди смогли заблокировать кнопку HOME на своих устройствах. Но, кажется, это не подходит для кнопок камеры.
Так есть ли способ заблокировать аппаратные кнопки, чтобы, по крайней мере, кнопка захвата камеры больше не открывала свои собственные намерения камеры?
1 ответ
В вашем MainActivity.java
(или другой вид деятельности), вставьте следующее:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Log.e(TAG, "keyCode: " + keyCode); // If you want to see the keycodes
// If User hits the (physical) shutter button of the EK-GC200 camera
if (KeyEvent.KEYCODE_FOCUS == keyCode || KeyEvent.KEYCODE_CAMERA == keyCode) {
// Do nothing or start your own camera App
return true;
}
return super.onKeyDown(keyCode, event);
}
Если вы также хотите перехватить кнопку возврата, выполните:
if ((keyCode == KeyEvent.KEYCODE_BACK )) {
// Upon return / back key:
// Do NOT go to super.onKeyDown(keyCode, event);
return true;
}
HOME
Кнопка не может быть перехвачена таким образом.
Надеюсь это поможет.