카테고리 없음

[기계적 인조 인간] Android 4.3에서 BLE113에 연결하는 동안 "Client registered, waiting for callback"을 기록합니다.

행복을전해요 2021. 2. 2. 13:39

이것은 스레딩 문제 일 가능성이 높습니다. Samsung Galaxy S4 장치에서 BLE와 매우 유사한 문제가 발생했습니다. 삼성의 Android 구현은 다른 것보다 BLE를 다르게 처리하는 것으로 보입니다 (Nexus 7 기기는 정상적으로 작동 함). 하지만 UI 스레드에서 BLE connectGatt 메서드를 명시 적으로 실행해야합니다. 다음은 그 예입니다.

// Create handler for main thread where mContext is application context
mHandler = new Handler(mContext.getMainLooper());
...
// Connect to BLE device from mHandler
mHandler.post(new Runnable() {
    @Override
        public void run() {
                mBTGatt = mBTDevice.connectGatt(mContext, false, mGattCallback);
                    }
                    });
                    


출처
https://stackoverflow.com/questions/22049920