안드로이트 비콘 스캐닝시 고려 사항

by 조쉬 posted Jul 26, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

안드로이드에서 비콘을 스캐닝하고 비콘이 발견되면 BluetoothAdapter.LeScanCallback 클래스가 처리하게 됩니다. 

( 안드로이드 젤리빈, 킷캣 기준. 롤리팝부터 확 바뀌었으나 아직은 4.4기준으로 만들어야 합니다 )


 BluetoothAdapter.LeScanCallback leScanCallback = new BluetoothAdapter.LeScanCallback() {

 public void onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord) {

....

 }

}


문제는 이 콜백 메쏘드가 호출되는 주기가 Beacon의 신호 발산 인터벌을 그대로 따라가지 않는다는 점.

예를 들어 비콘의 인터벌이 200ms .. 로 세팅됐다 하더라도 onLeScan콜백 메쏘드가 실행되는 시간차를 찍어 보면 200 ms가 아닌 400, 600이 나오는 경우가 있습니다.


비콘이 잘못됐나? 계측장비로 찍어 보면 비콘은 200ms로 잘 쏘고 있었습니다.