2014-07-15 6 views
0

내 Nexus7에서 android 4.4 BLE API를 사용하여 성공적으로 주변 BLE 장치 (연결, 연결 끊기, 읽기, 쓰기)와 상호 작용할 수 있습니다 ....android BLE - 자발적인 연결 해제 후 자동으로 다시 연결

경우 어떤 이유로 든 그러나 활성 연결이 끊어 (이 경우, 주변 리셋), 난 .... 다음과 같은 행동을 관찰

  • 가 (설계 상)은 어떤 후 광고를 주변 시작 내 활성 연결은 (어떤 이유로 든) 종료됩니다. 내 블루투스 패킷 스니퍼를 통해 이것을 볼 수 있습니다 ....

  • 내 안드로이드 애플 리케이션에서 예상대로 onConnectionStateChanged 콜백을받습니다.이 시점에서 내 활성 BluetoothGatt 인스턴스에서 close()를 호출합니다. 이것은 내가 클라이언트에서 시작 "정상적인"연결 해제시 다음과 같은 절차 ...

  • 곧이 후, 안드로이드 BLE 스택은 같은 주변 장치 다시 연결 에 시도이다; 패킷 스니퍼를 통해 공중에서 나가는 BLE 연결 요청을 볼 수 있습니다 ...

그러나 내 응용 프로그램은이 재 연결을 시작하지 않았습니다. 실제로, 나는 어떤 정보도 보지 않았다 어떤 블루투스 로그는 이것이 심지어 일어난 것을 제안했다! !!!!

BLE 스택에 자동으로 연결을 다시 시도하는 "모드"가 있습니까? BluetoothGatt#connectGatt()를 호출 할 때 autoConnect=true를 사용하는 경우

덕분에 ....

답변

0

나는 이런 일을 관찰했습니다. 일반적으로 나는 autoConnect=false을 사용하는 것이 가장 좋은 것으로 밝혀졌지만, 일부 장치에서는 true을 사용하지 않으면 연결할 수 없기 때문에 일반적으로 둘 다 수행합니다. 먼저 false을 시도한 다음 오류가 발생하면 true을 사용한 다음 설명하는 동작은 단순히 해결해야 할 대상입니다.

관련 문제