2013-10-14 5 views
3

광고를 보내는 블루투스 LE 기기로 실험 중입니다 (iBeacon과 유사). 내 Linux 컴퓨터에서 "hcitool lescan"은 광고되는 장치를 감지하고 "단축 이름"을 표시하므로 무선 인터페이스가 올바르게 작동하는 것 같습니다.Android 4.3에서 블루투스 저에너지 광고가 표시되지 않음

불행히도 최신 재고 ROM (Android 4.3)이 장착 된 Nexus 4 휴대 전화에서 4 가지 블루투스 LE 스캐너 앱을 사용해 보았지만 그 중 누구도 기기의 광고를 표시하지 않았습니다. 그러나 장치가 활성화되어있을 때 "adb logcat"은 처리중인 btu_ble_process_adv_pkt [1] 이벤트를 많이 표시하며 장치의 전원이 꺼지 자마자 중지됩니다. BTLE 스택은 내 광고를 포착하는 것처럼 보이지만 앱에 도달하지는 않습니다.

안드로이드가 제대로 처리하기 위해 광고가 포함해야하는 필드에 대해 조언 해 줄 사람이 있습니까?

[1] https://android.googlesource.com/platform/external/bluetooth/bluedroid/+/jb-mr1.1-dev/stack/btu/btu_hcif.c#2198

+0

블루투스 사용 및 광고 표시와 관련된 앱 코드를 게시 할 수 있습니까? – JRomero

+0

나는 지금까지 어떤 응용 프로그램도 작성하지 않았다. 대신 Play 스토어에서 다양한 스캐너 앱을 사용해 보았습니다. –

답변

2

나는 나 자신을 알아 내기 위해 관리 : 당신이 이 광고를 전송하고 연결을 허용하지 않는 BTLE 장치가있는 경우, 당신은 반드시 그 PDU 유형을해야 메시지의 맨 처음 바이트가 0x02 (ADV_NONCONN_IND)로 전송됩니다. 그렇지 않으면 안드로이드는 명백히 GATT 속성을 쿼리하기 위해 연결을 열려고 시도 할 것입니다. 당연히 실패합니다. AFAICT, iOS는 여기에 더 관대합니다.

관련 문제