Почему в разных версиях Android Bluetooth UUID отображаются по-разному? - PullRequest
0 голосов
/ 23 апреля 2020

Для начала я использую Android Studio 3.6.3 на Windows 8.1.

Я наткнулся на этот вопрос при создании приложения, которое собирает данные из окружающего Bluetooth устройства для последующего подключения к правильному (пользовательская встроенная система, использующая Bluetooth Classi c, а не Low Energy ).

Я пробовал одно и то же приложение на двух разных телефонах (с разными android версий), одна имеет Android 5.1.1, а другая - Android 9; принимая во внимание их соответствующие разрешения и ограничения.

При извлечении UUID на Android 9 все UUID отображаются хорошо. Я даже узнал, что в моем телевизоре включена Bluetooth, но его UUID выглядел как Null (хотелось бы знать, почему, если кто-то и знает).

Однако при извлечении UUID в Android 5.1.1, UUID который правильно отображался на Android 9, теперь отображается как Null, а для другого устройства появился дополнительный UUID. Я был очень удивлен этим.

Я планировал использовать это приложение на разных телефонах, но, поскольку оно выдаёт разные результаты в зависимости от устройства, на котором он используется, теперь я не могу.

Это результат журнала в Android 9

2020-04-22 17:09:05.823 31878-31878/com.example.bluetooth E/MainActivity: Device: Bluetooth Keyboard
2020-04-22 17:09:05.824 31878-31878/com.example.bluetooth E/MainActivity: UUID 01: 00001124-0000-1000-8000-00805f9b34fb

2020-04-22 17:09:05.824 31878-31878/com.example.bluetooth E/MainActivity: Device: RN42-0433
2020-04-22 17:09:05.824 31878-31878/com.example.bluetooth E/MainActivity: UUID 02: 00001101-0000-1000-8000-00805f9b34fb

Это результат журнала в Android 5.1.1 (обратите внимание на дополнительный UUID и нулевой UUID)

04-22 17:07:09.316 24966-24966/com.example.bluetooth E/MainActivity: FROM ACTION_UUID
04-22 17:07:23.281 24966-24966/com.example.bluetooth E/MainActivity: Device: Bluetooth Keyboard
04-22 17:07:23.281 24966-24966/com.example.bluetooth E/MainActivity: UUID 01: 00001124-0000-1000-8000-00805f9b34fb
04-22 17:07:23.281 24966-24966/com.example.bluetooth E/MainActivity: UUID 02: 00000000-0000-1000-8000-00805f9b34fb

04-22 16:37:20.120 22227-22227/com.example.bluetooth E/MainActivity: Device: RN42-0433
04-22 16:37:20.120 22227-22227/com.example.bluetooth E/MainActivity: UUID 01: 00000000-0000-0000-0000-000000000000

(Единственная причина, по которой они отображаются как ОШИБКИ, заключается в том, что они более понятны при отладке. Я сделал Null UUID для перевода в 00000000-0000-0000-0000-000000000000 в коде для моих собственных целей.)

Итак ... есть идеи, почему это происходит? Может быть, мне нужно учесть больше разрешений?

Заранее спасибо.

...