Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.12.2
-
Android 9 Smartphone
Qt 5.12.2
Description
Hi,
On Android (9) with BLE, the function "manufacturerData()" of "QBluetoothDeviceInfo" only returns the manufacturer data of the scan response, if both the advertising packet and the scan response include manufacturer data with the same company id. The data in the advertisement packet seems inaccesible.
I verified with other tools, that the data is advertised correctly. It should also be conform with the Bluetooth spec (see CSS Part A, "Data Types defintions and formats"), which explicitly allows to use multiple manufacturer data fields (There is also no limit like "one per company id" mentioned).
Pre 2015 iOS had the same issue. It got fixed/changed in iOS 9 and the manufacturer data has been concatenated since then, when split. (source: https://forums.developer.apple.com/thread/25580). I highly suspect that the Qt Bluetooth API will generally be inconsistent in this case, as the iOS 9 behavior should affect it as well. I have no iOS device at hand to verify this.
A simple fix would involve to concat the data on Android as well.