BarCode 스캐너 CipherLab 1070이 있습니다.이 장치는 OTG-cable을 통해 Android 장치에 연결됩니다. Barcode를 읽어야합니다.BarCode 스캐너가 Android 앱에서 내 뷰를 클릭합니다.
내가이 장치 그것의 도움으로 코드를 스캔있을 때 내 응용 프로그램에
- 스캔 번호
- 전송 번호 안드로이드에 하나씩. 응용 프로그램에서이를 KEY_DOWN 이벤트로 간주합니다.
- 그 후 a) 내 활동에 클릭 가능한 항목이있는 경우 스캐너가 아래로 터치하지만 터치하지 마십시오 (손가락으로 click_down보기가 해제되지 않음) b)보기가 이미 눌렀습니다 (터치 다운 됨) - touch_up을 수행합니다 (손가락을 놓고보기에서 클릭 이벤트가 발생하는 것처럼).
그래서 행에서 2 개의 바코드를 읽으면 스캐너가 일부보기에서 1 클릭을 시뮬레이션합니다. 내가 6 코드를 읽으면 3 클릭.
일부 버튼이있는 대부분의 애플리케이션에서 작동합니다. 예 - ColorSheep. 바코드를 스캔하면 색상이 재설정됩니다. O_O
기타 1 가지. 나는 조각이 2 개있다. 1 목록보기 및 1 GridView. 둘 다 어댑터와 onItemClickListeners를 구현했습니다. 스캐너는 GridView의 하위 뷰를 활성화합니다.
그래서 무슨 일이 일어 났습니까 : 코드를 스캔하면 항목 그리드가 생깁니다 - 1 번째 항목은 "touched_down"입니다. 내가 2 위를 스캔하면 "touch_down"이 릴리스되고 1 위 항목에 대해 onItemClickListener가 호출됩니다. 4 - touch_down, 4 - 위로 터치 및 onItemClickListener.
GridView에서 특정 항목을 클릭하면이 버그가 발생합니다.
예 : 5 번째 항목을 클릭하십시오. 클릭하면 모두 괜찮습니다. 그렇다면 코드를 6 번 읽었습니다. 따라서 5 번째 항목은 3 번 "클릭"됩니다.
바코드 스캐닝 절차. 내 애플 리케이션 "keyDown"이벤트의 시퀀스를 참조하십시오. 일부 magick의 도움으로 스캔 한 후 내 의견을 클릭하십시오. 뿐만 아니라 전망. 내 활동에보기가 없지만 메뉴가 있으면 스캐너가 내 메뉴를 "클릭"합니다.
도움 주셔서 감사합니다.