2017-05-22 18 views
0

내 안드로이드 앱을 사용하여 하드웨어와 상호 작용하려고 할 때 종종 Android 블루투스 연결이 끊어지는 것을보고 있습니다. 나는 그것이 안드로이드 앱/펌웨어 또는 다른 안드로이드 API 문제로 인한 것인지 확신하지 못합니다. 연결 해제의 이유를 확인하기 위해 사용할 수있는 로그 - 시간 초과, 기타 또는 기타 연결 이유. 우리가 갈 수있는 단절 이유. 이 간헐적 인 토론을 디버깅해도 괜찮습니까? 도와주세요!Android 블루투스 연결 끊기 디버그

답변

0

이 Google의 블루투스 샘플 프로젝트를 참조하십시오. 그것은 아프지 않습니다. https://github.com/googlesamples/android-BluetoothChat. 요점은, 장치 상태의 변화를 기다리는 별도의 스레드가 있다는 것입니다. 연결될 때 연결이 끊어집니다. 거기에서 상태 이벤트를 기록 할 수 있습니다.

0

Android 휴대 전화의 개발자 옵션에서 스눕 로그를 사용하도록 설정할 수 있습니다. 일단 기록되면 와이어 상어를 사용하여 로그를 볼 수 있습니다. 이것은 당신에게 HCI를 블루투스 패킷 교환의 레이어 뷰에 제공합니다. 여기에는 연결 끊기 완료 이벤트 (연결 해제 이유 포함)도 포함됩니다. 단절 이유가이 수준에서 충분히 명확하지 않으면 가장 신뢰할 수있는 방법은 블루투스 스니퍼 (Ellisys, FrontLine 등)를 사용하여 에어 트레이스를 수집하는 것입니다. 이로 인해 연결이 끊어지는 제어 패킷 교환의 정확한 세트가 제공됩니다 (분석하려면 친숙 함이 필요합니다 블루투스 프로토콜 사용). 프로필 단계에서 무슨 일이 벌어지고 있는지 블루 라이트 로깅을 가능하게하려고 벌써 시도한 것 같습니다.

+0

bluedroid 로그? 아직 없습니다.하지만 스누핑 로그를 수집했습니다. 블루로드 로깅은 스눕 로그와 동일합니까? – Raulp

+0

bluedroid 로그는 블루투스 호스트 스택 로그이며, 여기에는 bluedroid 호스트 스택에서 일어나는 일에 대한 정보가 들어 있습니다. 스 누프 로그와 다릅니다. –

+0

프로덕션 전화에서 어떻게 활성화 할 수 있습니까? – Raulp