Chipsets / dispositivos compatibles con Android 5 BLE modo periférico

** Descripción de dispositivos conocidos hasta ahora: Nexus 6, Nexus 9, Moto E 4G LTE, LG G4, Galaxy S6, Samsung Galaxy S5 (modelo SM-G900M), Nexus 5X, Sony Xperia Z5 Compact, Samsung Galaxy Tab S2 **

** También vea https://altbeacon.github.io/android-beacon-library/beacon-transmitter-devices.html **

Una de las nuevas características de la versión Android 5 es la compatibilidad con el modo periférico Bluetooth Low Energy. Si bien se promociona para que funcione independientemente del dispositivo utilizado, parece depender del chipset (consulte la función isMultiAdvertisementSupported () en BluetoothAdapter.java).

Está funcionando para el Nexus 5, pero no para el Nexus 7 (llamado error en el periférico BLE, es compatible con el ejemplo de Android-L , pero puede que nunca funcione debido a su conjunto de chips). Además, https://code.google.com/p/android-developer-preview/issues/detail?id=589 no ofrece declaraciones concluyentes.

Mi preocupación es que, como se espera que muchos dispositivos antiguos obtengan Android 5, solo las tabletas más nuevas (y teléfonos relativamente nuevos) admitirán el modo periférico BLE. Esto podría no ser claro para el usuario final de las aplicaciones que dependen de esta nueva característica de Android 5.

Para mí, no está muy claro qué chipsets / dispositivos, que finalmente tendrán Android 5, admitirán el modo periférico BLE. ¿Alguien que pueda darme alguna información sobre esto? ¿Qué chipsets admitirán el modo periférico BLE? Más específicamente, como muchos de nuestros clientes tienen un Nexus 7 (2013), ¿el Nexus 7 contará alguna vez con soporte?

Editar 19-2-2015: desde diciembre de 2014 ya no es compatible con el Nexus 5, solo los Nexus 6 y 9 parecen ser compatibles con BLE Peripheral Mode / Advertising. Espero que la cantidad de dispositivos compatibles con esto aumente significativamente en el futuro cercano.

Más información y discusión aquí: https://code.google.com/p/android-developer-preview/issues/detail?id=1570

Editar 6-3-2015: resumen agregado para referencia rápida

Editar 17-2-2016: Agregué algunos dispositivos que he revisado pero que no estaban en ninguna de las otras listas

Android 5.0.X solo te permitirá usar la nueva API para BLE. Esta nueva API viene con una nueva característica, que usted mencionó en su pregunta: la posibilidad de publicitar, desde su propio dispositivo Android, usándolo en modo periférico. Sin embargo, la desventaja de esta nueva característica es que depende del hardware. Por ejemplo, antes de comenzar cualquier BLE, necesita:

Primero: compruebe si BLE es compatible, lo que puede hacer agregando esta línea en su manifiesto:

Segundo: debe verificar si su chipset tiene soporte, usando los siguientes métodos:

 bluetoothAdapter.isMultipleAdvertisementSupported(); bluetoothAdapter.isOffloadedFilteringSupported(); bluetoothAdapter.isOffloadedScanBatchingSupported(); 

También tenga en cuenta que para los dos métodos anteriores, la documentación de la API establece claramente que:

“Devuelve verdadero si el anuncio múltiple es compatible con el chipset”

“verdadero si el chipset admite filtrado en chip”

“verdadero si el chipset admite lotes de escaneo en el chip”

Dicho esto, nos lleva a la pregunta:

“¿Qué dispositivos de hardware van a admitir esta característica?”

Bueno, la respuesta a eso es un poco más complicada ya que esta no es una característica obligatoria para el hardware / protocolo bluetooth y probablemente variará de fabricación a fabricación. Pero por ahora, los únicos dispositivos actualmente que oficialmente apoyan la tecnología, sin problemas importantes, son Nexus 6 y Nexus 9, ya que su hardware ya viene con el soporte. Lo mejor que puede hacer es no confiar únicamente en la tecnología por el momento y tratar de explorar otras soluciones posibles, si las hay.