안드로이드 개발 질문/답변
(글 수 45,052)
현재 안드로이드 기기의 블루투스 테스트를 하고 있습니다.
두개의 다른 제조사의 안드로이드 기기 입니다.
우선 테스트 방법은,
버튼 하나를 만들어서 블루투스 연결, 짧은 데이터 전송, 끊기를 무한 반복으로 하고 있습니다.
연결
socket = btDevice.createRfcommSocketToServiceRecord(UUID_SPP);
socket.connect();
데이터 전송
끊기
socket.close();
이런 동작을 합니다.
일단 A제조사의 제품 들은,
socket.conect();부분에서 연결이 되지 않았을 경우 Exception()부분으로 빠져 나와 블루투스 재 연결이 가능합니다.
하지만 B제조사의 제품들은
socket.conect();부분에서 연결이 되지 않았을 경우 Exception(); 부분으로 빠지지 않고 안드로이드기기가 리셋 됩니다.
질문 사항,
1. B제조사의 안드로이드 기기가 리셋되지 않도록 소켓연결이 제대로 수행되지 않았을 경우 Exception()으로 빠지게 하는 방법이 있을까요?
2. 똑같은 테스트 프로그램 인데도 이렇게 다른 동작을 하는 원인이 프로그램상의 문제일까요? 하드웨어상의 문제 일까요?