Estoy intentando crear una aplicación que utilice la nueva API de Bluetooth Low Energy de Android. Para esto, comencé con la muestra BLE que viene con API nivel 18 .
Cuando leí que Android no puede actuar como un periférico, puse el teléfono Android en modo central, buscando dispositivos BLE a su alrededor. Para ello, realicé algunas pruebas con una plataforma nórdica simulando un sensor cardíaco. ¡Todo funciona a la perfección!
Después de esto, trato de coger un iPhone (iOS 7 beta 4) y ponerlo de forma periférica y simulando un sensor de frecuencia cardíaca como la prueba anterior. La aplicación de Android puede ver el dispositivo y conectarse a él. Pero una vez que la conexión está activa, los 2 dispositivos se desconectan entre sí en 3-4 segundos. Además de eso, cuando llamo a discoverServices () en el lado de Android, ¡no se activa ninguna devolución de llamada! En algunos casos, el dispositivo Android recibe el evento "Conectado" incluso si el chip Bluetooth de iOS está apagado. Esto es muy extraño. Para demostrarlo, puse el Nordic Board en modo Central y pude conectarme correctamente al dispositivo iOS sin problemas.
¿Qué podría ser? ¿Existen algunas limitaciones en Android o iOS que no permiten conectarse de un Android a un iOS o viceversa?
Gracias.
EDITAR: Después de algunas pruebas duras, planteé un problema en la página de AOSP. Se puede consultar aquí