추울 겨울 고생많으십니다~
블루투스 채팅예제를 사용하여 연결은 잘되는데
다시 연결할시에 연결실패가 뜹니다
연결상태에서 재연결시에 이미 연결상태입니다 토스트메시지를 띄워주고
기존 연결상태를 유지하려는게 목적입니다.
state메소드 만들어서 상태변수처리하고
이미 연결됬을시에 case STATE_CONNECTED: 로 들어가게하려는데
자꾸 익셉션처리로가네요
연결후에 다시 연결시 mstate찍어봤는데 STATE_CONNECTED인데 처리가 왜 안될까요..
public void run(){
mbtAdapter.cancelDiscovery();
Log.d(TAG, "상태는 : " + mState+"");
try{
switch (mState){
case STATE_CONNECTING:
mmSocket.connect();
Log.d(TAG, "연결");
setState(STATE_CONNECTED);
break;
case STATE_CONNECTED:
mmSocket.close();
break;
}
}catch (IOException connectException){
connectionFailed();
try {
Log.d(TAG, "연결실패"); <<연결되있는 상태에서 재연결시 이쪽으로만 갑니다
mmSocket.close();
}catch (IOException closeException){
Log.e(TAG, "unable to close() socket during connection failure", closeException);
}
BTService.this.start();
return;
}
그리고 추가적인 궁금증이 저 구문이 처리가 되더라도
같은 다른 블루투스 모듈일경우에는 연결상태라도 재연결이 가능하게 하려는데
어느부분에서 처리해주는게 좋을까요.