3

나는 매 30 초마다 정기적으로 BLE 스캔을 수행하는 RxAndroidBle 라이브러리와 매분마다 일부 BLE 작업을 수행하는 응용 프로그램을 개발 중입니다. 두 시간이 지나면 대개 5 시간에서 24 시간 사이에 검사가 중단됩니다. 스캔이 시작하기로 때마다, 내가 얻을 :Android BLE : "스캔 실패, UUID에 대한 이유 앱 등록 실패"

09-05 09:08:37.160 8160-8160/myapp D/BluetoothAdapter: startLeScan(): null 
09-05 09:08:37.165 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:37.165 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:37.165 8160-8160/myapp D/BluetoothLeScanner: Start Scan 
09-05 09:08:37.165 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:37.165 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:37.170 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:37.170 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:37.210 8160-12850/myapp D/BluetoothLeScanner: onClientRegistered() - status=133 clientIf=0 
09-05 09:08:37.210 8160-12850/myapp D/BluetoothLeScanner: Registration failed, unregister clientIf = 0 
09-05 09:08:37.215 8160-8160/myapp D/BluetoothLeScanner: Scan failed, reason app registration failed for UUID = 4c321920-a2b7-449a-bc24-ea4361f7a255 
09-05 09:08:44.150 8160-8160/myapp V/myapp.debug: unsubscribing scan 
09-05 09:08:44.150 8160-8160/myapp V/myapp.debug: Clearing scan subscription 
09-05 09:08:44.150 8160-8160/myapp D/BluetoothAdapter: stopLeScan() 
09-05 09:08:44.150 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:44.155 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:44.155 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:44.155 8160-8160/myapp D/BluetoothAdapter: STATE_ON 
09-05 09:08:44.155 8160-8160/myapp D/BluetoothLeScanner: could not find callback wrapper 

사람이 문제가 발생하거나 해결하기 위해 무엇을 할 수 있는지 어떤 생각을 가지고 있습니까?

+0

안녕하세요. 오랫동안 기기를 사용하여 연결하는 동안 오류가 발생할 수 있다고 생각합니다. RLEAndroidBle (https://github.com/Polidea/RxAndroidBle/issues/63)에 잘못된 시나리오에서 BLE 클라이언트가 제대로 닫히지 않도록하는 버그가 있습니다. –

+1

더 많은 조사가 끝나면 대부분 스캔과 관련이 있다고 생각합니다. 전혀 스캔하지 않으면이 문제가 나타나지 않습니다. 그러나 스캔이 유스 케이스에 필요하다면 문제를 해결하는 방법을 배우는 데 여전히 관심이 있습니다. – starman

답변

0

두 개의 연결이 끝나면 BluetoothGatt 개체의 수가 최대가되는 문제가 있습니다.

새 검사를 시작하기 전에 모든 장치의 연결을 끊은 후 BluetoothGatt 개체에서 close()으로 전화하십시오.