회사에서 이 라이브러리를 사용하게 되어서 주요 함수들에 대한 주석들을 번역해보았다.(github 주소)




[BleManager.java]



shouldAutoConnect()

protected boolean shouldAutoConnect() {
return false;
}


원격 디바이스에 한번만 연결할지(false), 아니면 사용 가능하게 되면 즉시 자동으로 연결될 디바이스 white list에 주소를 추가할지(true)를 반환한다. 후자의 경우, 블루투스 어댑터가 enable 되면 white list에 있는 디바이스들을 주기적으로 스캔하고, advertising packet을 수신하게 되면 그 디바이스에 연결하려고 시도한다. 연결이 끊겼을 때, 시스템은 그 디바이스에 재연결을 하려고 시도할 것이다. 이 함수가 true를 반환하고 디바이스 연결이 끊기면 BleManagerCallbacks의 onDeviceDisconnected 대신 onLinklossOccur 콜백 함수가 호출된다.


* 이 기능은 최신 기종의 안드로이드 디바이스에서 더 잘 작동하며, 오래된 디바이스는 동작하지 않을 가능성이 높다.

* 이 메서드는 bonded 디바이스만 사용되어야 한다. 그렇지 않은 디바이스들은 주소가 바뀔 수 있다. It will however work also with non-bonded devices with private static address. A connection attempt to a device with private resolvable address will fail(이 부분은 어떤 내용인지 잘 모르곘음)

* 디바이스의 첫 번째 연결은 항상 autoConnect 플래그가 false가 된다(BluetoothDevice의 connectGatt 함수 참고). 대부분의 사용자가 빠른 응답을 기대하고 있기 때문에 이러한 방법을 사용한다. 그러나 처음 연결하는 동안 이 메서드가 true로 반환되고 링크가 손실된 경우 manager 객체는 autoConnect를 true로 강제하는 BluetoothGatt의 connect 함수를 사용하여 reconnect 하도록 시도할 것이다. 



블로그 이미지

NCookie

,