2014-08-27 3 views
1

Я хочу использовать свой собственный модуль камеры на Samsung Galaxy Camera EK-GC200. Я могу получить кодовый ключ для обеих кнопок, но кнопка захвата всегда открывает свое собственное намерение камеры, которое затем, конечно, складывается с моим собственным модулем камеры. Также кнопки масштабирования всегда показывают скользкое всплывающее окно при использовании.Блок аппаратного затвора камеры/кнопка захвата Камера Samsung Galaxy на 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 не может быть перехватывается таким образом.

Надеюсь, это поможет.