2014-11-12 6 views
0

바코드를 스캔하고 문자열을 편집 텍스트에 넣고 검색합니다. 문제 없어.안드로이드에서 추가 스캔을 차단하십시오.

바코드가 스캔되면 문제는 한 번에 jsut 대신 약 3 번 실행됩니다. 검색을 수행하고 작업을 시작하는 데 몇 밀리 초가 필요하기 때문에 그 시간을 추측 할 수 있지만이 시간에는 스캐너가 이후에 더 많은 스캔 (동일한 바코드)을 보냅니다. 스캔이 실제로 성공 후 모든 과정이 2 번 이상 ... 실행할 수 있도록

@Override 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     Logger.i(TAG, "KeyCode: " + keyCode); 
     switch(keyCode) { 
     case KeyEvent.ACTION_DOWN: 
      someAction(); 
      break; 

     case KeyEvent.KEYCODE_ENTER: 
      someAction() 
      break; 

     } 
     return false; 
    } 

검색이 잘 작동, 난 그냥이 더 KeyEvents를 얻을

편집 : 나는 2 가지로 일하고 있어요 스캐너, 첫 번째는 keyCode 0을 보내고 다른 하나는 keyCode 66, 왜 내가 둘 다 처리하는지. keyCode 0에서 문제가 발생합니다. 다른 스캐너로 아직 테스트하지 않았습니다.

답변

0

스캔 한 바코드를 처리해야 할 때를 알 수있는 상태 (부울 값)를 만듭니다.

예 : 부울 mustHandleScan = true. 스캔 한 바코드가 인식되면 해당 부울을 거짓으로 변경하십시오. 부울이 참인 경우에만 검색을 수행하십시오. 타이머 (아마 countdowntimer)를 사용하면 x 초 후에 부울을 true로 변경할 수 있습니다. 이것은 구현하기 쉬운 솔루션입니다. 저는 이것을 사용하고 있습니다.

+0

고마워요. D 아주 간단하고, 수치 스러워요. 방금 ​​더 복잡한 방법을 생각했습니다./ 첫 번째 테스트가 성공했습니다. – Zuop

+0

간단하게 유지하십시오.) –

관련 문제