Я пытаюсь создать приложение, использующее новый Bluetooth Low Energy API для Android. Для этого я начал с образца BLE, приходящего с уровнем API уровня 18.
Поскольку я читал, что Android не может выступать в качестве периферии, я помещаю телефон Android в центральный режим, просматривая устройства BLE вокруг него. Для этой цели я провел несколько испытаний с помощью Nordic Platform, имитирующей датчик сердца. Все работает идеально!
После этого я пытаюсь выбрать iPhone (iOS 7 beta 4) и поместить его в Peripheral way и имитировать датчик сердечного ритма как предыдущее тестирование. Приложение Android может видеть устройство и подключаться к нему. Но после того, как соединение активировано, два устройства отключаются друг от друга через 3-4 секунды. В дополнение к этому, когда я вызываю DiscoverServices() на стороне Android, никакой обратный вызов не срабатывает! В некоторых случаях устройство Android получает событие "Подключено", даже если чип IOS Bluetooth выключен. Это очень странно. Чтобы доказать это, я поместил Nordic Board в центральном режиме, и я правильно смог подключиться к устройству iOS без проблем.
Что это может быть? Есть некоторые ограничения на Android или iOS, которые не позволяют подключаться с Android до iOS или наоборот?
Спасибо.
EDIT: после некоторого жесткого тестирования я поднял вопрос на странице AOSP. Это можно проверить здесь