0

연결 및 연결 프로세스에 문제가 있습니다. 이전 Bluetooth 저에너지 장치를 분리하고 새로운 BLE 장치로 연결할 수있는 버튼이 있다고 가정합니다. 일반적으로 연결 해제 프로세스는 약 500ms-> 1 초가 걸리므로 연결 끊기 프로세스가 완료 될 때까지 기다리는 것을 목표로하는 지연 프로세스를 만들어야합니다. 그런 다음 새로운 연결 프로세스를 호출합니다. 이것은 내 코드입니다BLE에서 연결 해제 및 재 연결 프로세스를 지연시키는 방법은 무엇입니까?

public void onClickButton(View v){ 
    //Disconnect previous 
    mBluetoothLeService.disconnect(); 
    //Need to wait here... 
    //Connect with new BLE 
    mBluetoothLeService.connect(mDeviceAddress); 
} 

제 생각에는 타이머, 처리기 또는 스레드가 최선의 선택이라고 생각하십니까? 모든

을이

  final ProgressDialog waitProgressDialog = ProgressDialog.show(this, "Please wait ...", "Disconnecting ...", true); 
      waitProgressDialog.setCancelable(true); 
      new CountDownTimer(500,100) { 
       public void onTick(long millisUntilFinished) { 
       } 
       public void onFinish() { 
        waitProgressDialog.dismiss(); 
       } 
      }.start(); 
+0

타이머와 핸들러가 좋습니다. 시도 해봐 – Shane

답변

2

그것을 연결 매개 변수에 의존하기 때문에이 장치가 대기하기 때문에 분리하는 데 걸리는 시간이 오래 시간을 예상하려고 잘못된 해결책처럼 보인다 사용하여 내 솔루션 타이머 감사합니다 주변 장치가 명령을 수신했다는 확인 응답.

대신에 onConnectionStateChange 콜백을 기다리십시오.

관련 문제