안드로이드 개발 질문/답변
(글 수 45,052)
블루투스 통신을 통한 하드웨어 제어를 하는 애플리케이션을 만들고있습니다.
어플구성은
하드웨어와 블루투스로 페어링을 한 후
음성인식을 통한 명령어를 인식하게되면 Text To Speech 로 String을 읽어주며
UI상에 하드웨어 On/Off 상태를 나타내는 체크버튼의 상태가 변하며
해당 명령에 대한 데이터를 H/W로 전송하는 구성을 갖고있습니다.
이런 명령들의 대부분을 onActivityResult 함수 내에서 실행을 하고 있습니다.
문제는 H/W에서 데이터 전송이 잘 되기도 하고 아예 안되기도 하는데요...
잘 되는 경우에는 문제가 없지면 데이터 전송을 시도하다 잘 안되서 H/W와 애플리케이션을 모두 종료 후 다시 실행 후 정상 동작하게 되어
데이터 전송을 하면 H/W에 찍히는 데이터는 이전에 전송이 정상적으로 되지 않은 데이터들이 버퍼에 쌓여있었던건지 한번에 출력이
되기도 합니다.
여기까지 문제되는 상황이며 제가 확인 해 본 봐로는 로그 파일을 찍어봤을때, 블루투스 데이터 전송 함수(sendMessage(String))내의 write 후
setLength(0); 이 실행 되기 직전에 어플이 비정상 종료에 빠져 버립니다.
또한 의심되는 부분은 데이터 전송이 완료되기 전에 UI상의 체크박스 상태가 변경되기 때문에 그런건 아닌가 하는 의심도 됩니다.
현재 정확한 문제가 파악이 안되서 헤매고 있는데 고수님들의 커맨트 부탁드립니다.~~~!