К сожалению, я не думаю, что есть какой-либо хороший способ получить UUID, поддерживаемый BluetoothDevice с уровнем API <15. Я думаю, именно поэтому они добавили новые функции в API 15. </p>
Примечание, из документов для BluetoothClass
BluetoothClass полезен как подсказка для приблизительного описания устройства (для
пример, чтобы показать значок в пользовательском интерфейсе), но не надежно описать
какие профили или службы Bluetooth фактически поддерживаются
устройство. Точное обнаружение службы осуществляется через запросы SDP, которые
автоматически выполняются при создании сокета RFCOMM с
createRfcommSocketToServiceRecord (UUID) и
listenUsingRfcommWithServiceRecord (String, UUID).
Таким образом, возможно, класс устройства можно было бы использовать в качестве подсказки относительно того, какие службы будут доступны, пока вы не выполните одну из перечисленных функций. Конечно, проверять класс не помешает, поскольку для этого не потребуются дополнительные операции с Bluetooth.
Обратите внимание, что класс обслуживания также доступен (он является частью класса устройства), но это всего лишь общий класс, а не список конкретных услуг (например, из SDP).