자.. 하고싶으신게 기존 연결된 디바이스와 새로 연결하려는 디바이스가 같은 녀석이면 기존 연결유지,
기존 연결된 디바이스와 새로 연결하려는 디바이스가 다른 녀석이면 기존 연결 해지후 새로운 녀석과 재연결 이건가요?
일단 디바이스를 비교하시려면 기존 샘플코드로직 변경이 필요합니다. 애초에 프로젝트 파실때, 샘플코드에서 필요한 부분만
참고하시는게 옳은 방법이라 생각되지만,, 이미 지금 이 까지 오셨으니 한번 진행해보겠습니다.
BluetoothService클래스에 getDeviceInfo메서드로 갑니다.
public void getDeviceInfo(BluetoothDevice device ) {
connect(device);
}
위 코드처럼 인텐트에서 데이터를 빼오는 부분을 제거합니다. 인텐트에서 데이터를 빼오는 부분은
MainActivity클래스 onActivityResult로 옮겨주세요.
아래와 같이 변경합니다.
if (resultCode == Activity.RESULT_OK) {
//블루투스 활성화(RESULT_OK상태시)
String address = data.getExtras().getString(DeviceListActivity.EXTRA_DEVICE_ADDRESS);
if (btService.getAddress().equals(address)) {
같으면 동일기기
}else{
틀리면 다른기기
btService기존연결해지및초기화
BluetoothDevice device = btAdapter.getRemoteDevice(address);
btService.getDeviceInfo(device);
}
switch (btService.mState) {
case BTService.STATE_NONE:
BluetoothDevice device = btAdapter.getRemoteDevice(address);
btService.getDeviceInfo(device);
//btService클래스의 디바이스 정보처리 getDevicerIngo메서드호출
Log.d(TAG, BTService.STATE_CONNECTING+"");
}
}
break;
자 이런 느낌으로 해주세요.