Android BLE ScanCallback LOW LATENCY

I'm building BLE Android. My app scans BLE devices with a background service 24/7 (this is important for my app) with SCAN_MODE_LOW_POWER parameters as settings. When I find devices associated with my app, I switch to SCAN_MODE_LOW_LATENCY, because at that moment my app is counting every 1 second. With SCAN_MODE_LOW_LATENCY I am getting ScanCallback intensively, but at some point, for example when the device is in sleep mode im taking as 10-11 a callback intensively, then pause for 3-4 seconds and then callbacks again.

This 3-4s delay / pause is not helping my application.

Is it possible to have an intense ScanCallback even if the device is in sleep or dose?

Thank.

Log when screen is turned on:

05-25 09: 26: 27.121 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 27.161 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: True

05-25 09: 26: 27,211 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 27.251 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 27.301 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

... intensive ScanCallback

05-25 09: 26: 41.101 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 41.151 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 41.201 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 41.251 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 41.291 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 41.341 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

05-25 09: 26: 41.391 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: true

Log with screen off:

05-25 09: 26: 50.141 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.191 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50,221 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.271 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.301 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.351 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.401 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50,441 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50,501 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.531 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50,581 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 50.631 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

---> no Callback 5s

05-25 09: 26: 55.151 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.201 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.251 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.301 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.341 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.381 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.421 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.481 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.521 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.571 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

05-25 09: 26: 55.611 14564-14564 /? I / TAG_BLE: BLE onScanResult - isScreenOn: false

+3


source to share


1 answer


Different manufacturers use different Bluetooth chips. Therefore, this behavior is very possible. Have you tried restarting the scan every second or so? Just start and stop it.



0


source







All Articles