Я намагаюся зробити програму, яка використовує новий Bluetooth Low Energy API для Android. Для цього я почав із зразка BLE, що постачається з API рівня 18 .
Коли я прочитав, що Android не може діяти як периферія, я перевів телефон Android у центральний режим, скануючи навколо нього пристрої BLE . Для цього я провів тестування на скандинавській платформі, що імітує датчик серця. Все працює ідеально!
Після цього я намагаюся вибрати iPhone (iOS 7 beta 4) і поставити його периферійним способом, імітуючи датчик серцевого ритму, як попереднє тестування. Додаток Android може бачити пристрій і підключатися до нього. Але після активного з’єднання два пристрої від’єднуються один від одного через 3-4 секунди. На додаток до цього, коли я закликаю DiscoverServices () на стороні Android, зворотний дзвінок не запускається! У деяких випадках пристрій Android отримує подію "Підключено", навіть якщо мікросхема Bluetooth iOS вимкнена. Це дуже дивно. Щоб довести це, я перевів Північну дошку в центральний режим, і я без проблем зміг підключитися до пристрою iOS.
Що це може бути? Є деякі обмеження на Android або iOS, які не дозволяють підключатися з Android на iOS або навпаки?
Дякую.
EDIT: Після важкого тестування я підняв проблему на сторінці AOSP. Це можна перевірити тут