2012-06-06 3 views
2

Я работаю над использованием BT 4.0 API, который Motorola предоставила с помощью RAZR. В one of their documents он заявляет, что должен использовать API Android для соединения перед подключением и использованием своей инфраструктуры. По их инструкциям я спаривался с приложением OS Bluetooth, но он никогда не подсказывает мне ключ. Он будет парировать, но не кажется, что он связан, и это очень важно для меня.Android Bluetooth Low Energy Motorola API сопряжение

Мой вопрос в том, что, когда они говорят «используя API Android», это относится просто к использованию утилиты OS Bluetooth для сопряжения перед рукой (например, я делаю), или есть какой-то способ сделать это с кодом в мое заявление. Они ссылаются на функцию «createBond()», которая, насколько мне известно, не является доступной функцией (по крайней мере, не без каких-либо белковых библиотек или отражения).

Любые советы приветствуются, особенно каждый, кто успешно использовал API, если они могли бы дать отчет об их процессе. Я просто искал какую-то ясность в этот момент :)

ответ

5

Lloyd,

Вы правильно, следуйте инструкциям в ссылке, которую вы публикуемая.

За пределами кодирования, когда они говорят, используют стандартную андроид-апи для операций «не-le», они означают, что нужно идти вперед и соединять устройство ble так же, как и любые классические устройства bluetooth в настройках Android -> беспроводная сеть & -> bluetooth -> сканирование для устройств.

Если устройство, которое вы используете, является совместимым с Motorola, устройство будет иметь , но не подключено.

Теперь в коде, вы можете обнаружить это сопряженное устройство через тот же метод

BluetoothAdapter.getDefaultAdapter().getBondedDevices() 

Чтобы перепроверить, если ваш телефон Android является LE совместим, запустите этот код:

public static boolean checkBLESupport() { 
     boolean deviceSupportsLE; 

    try { 
     @SuppressWarnings({ "unused", "rawtypes" }) 
     Class object = Class.forName("android.server.BluetoothGattService"); 
     deviceSupportsLE = true; 
    } catch (Exception e) { 
     deviceSupportsLE = false; 
    } 

    return deviceSupportsLE; 
} 

И дважды проверьте, подключено ли устройство Bluetooth, которое вы соединяете, LE, когда вы перебираете связанные устройства. Проверьте устройство с помощью этого кода.

if (device.getBluetoothClass() == null) { 
    Log.i(TAG, "This device is BLE compatible"); 
     b = true; 
} else { 
    Log.i(TAG, "This device is not BLE"); 
     b = false; 
} 

Теперь для установления соединения с совместимого телефона LE с совместимым устройством BLUETOOTH LE, следуйте инструкции по обслуживанию Gatt по ссылке вы публикуемую. http://developer.motorola.com/docs/bluetooth-low-energy-api/

Обратите внимание, что в этом примере он подключается к монитору частоты сердечных сокращений с низким энергопотреблением.

Если вы не пытаетесь подключиться к монитору сердечного ритма с профилем сердечного ритма LE, вот ссылка на другой документ Motorola, в котором подробно описывается создание собственного профиля LE для использования с каркасом GATT. http://developer.motorola.com/docs/bluetooth-low-energy-gatt-framework-api/

Если инструкции не достаточно ясны в любой момент в любом из этих документов, motorola предлагает образцы приложений для Android с использованием фреймворков в этих документах.

+0

Вы не можете соединиться с BLE внутри настроек Android. – chwi

+0

С совместимым с BLE телефоном. Вы можете спариваться с BLE, у меня есть Droid RAZR и пары, которые отлично подходят для стандартных настроек Android. Я предполагаю, что Droid 4 тоже будет работать. Я не тестировал другие новые устройства, такие как Galaxy SIII или HTC Evo 4gLTE – josh527

+0

Вы уверены, что говорите о низкой энергии Bluetooth? Потому что вы не спарируете ничего с монитором сердечного ритма, говорящим BLE – chwi

1

Я думаю, что в штабеле Motorola есть поддержка BLE. Но я чувствую, что он не соединяется с устройствами, которые требуют склеивания, хотя на нем работают некоторые датчики. Я пробовал с датчиком близости, который требует склеивания. Он никогда не соединяется, хотя устройства обнаружены с помощью Razr, который даже не с S3.

Есть полезное видео here.

0

Late к игре, но может подтвердить -

Если BLE Периферийное требует склеивание, Moto X - и некоторые другие старые устройства Motorola - должны быть соединены через настройки Bluetooth до программного подключения через интерфейс Android ГАТТ.

Если вы связываете метод createBond или считываете зашифрованную характеристику, ваше соединение будет отбрасываться, как правило, менее чем за 60 секунд, несмотря на то, что журналы DDMS, которые показывают хорошую связь, могут быть установлены.