Мне удалось обойти эту проблему, не меняя вещи на стороне Android, а изменив класс адаптера Bluetooth. Я знаю, что это не решает первоначальную проблему блокировки устройств класса 0x00, но, по крайней мере, вы можете использовать последовательное устройство BT с android, несмотря на ошибку.
Я купил серийный конвертер Bluetooth у ebay (ссылка здесь: http://www.ebay.co.uk/itm/Bluetooth-RS232-serial-Converter-Module-Adapter-Board-/190508188703?pt=LH_DefaultDomain_0&hash=item2c5b2c441f), который, как и ожидалось, не распознавался моим HTC Desire в его конфигурации по умолчанию.
Я не хотел пробовать приложение с помощью программного обеспечения Zorn, упомянутого выше, потому что некоторые люди сообщали, что оно портит их телефоны HTC. Вместо этого я нашел из таблицы AT-команд BT-устройства, что вы можете изменить, среди других параметров, номер класса устройства, используя соединение UART и терминальную программу.
Мне потребовалось некоторое время, чтобы понять, что вы не можете использовать последовательное соединение Bluetooth для доступа к интерфейсу конфигурации, но вместо этого вы должны использовать физические контакты RX и TX на устройстве. Вам также необходимо подключить контакт с именем «Ключ» к Vcc, чтобы активировать командный режим. Поэтому я использовал интерфейс RS232-UART устройства последовательного программатора AVR для подключения к контактам RX / TX и использовал Realterm в качестве программы терминала. Это заставило работать интерфейс AT-команд, как только у меня была правильная скорость передачи данных 38400, и поменял местами провода RX и TX, которые я изначально подключил неправильно.
Я использовал генератор здесь
http://bluetooth -pentest.narod.ru / Программное обеспечение / bluetooth_class_of_device-service_generator.html
чтобы получить действительный ненулевой номер класса (я использовал объект Transfer / Computer / Desktop Workstation, который составляет 0x100104), и ввел его в устройство с помощью команды
at + class = 100104 \ r \ n
где \ r \ n обозначает Enter (см. Таблицу данных).
После выключения адаптера BT, отсоединения контакта «Key» и повторного включения я смог подключить его к своему телефону обычным способом. Передача данных также работала. Я снова использовал UART и Realterm программиста AVR для отправки некоторых данных (сообщение Hello World в ASCII) на выводы RX / TX адаптера. В конце Android я использовал приложение SENA Bterm для получения данных.
Надеюсь, это поможет кому-то делать интересные вещи со своими телефонами и встроенными системами.