¿Android KitKat permite que los dispositivos compatibles con Bluetooth LE actúen como un dispositivo periférico?

Hasta Android 4.3, un dispositivo Android con Bluetooth Low Energy apoyo sólo podría actuar como un dispositivo central. Como se da en el Android 4.3 Bluetooth LE docs:

Android 4.3 (API Level 18) incorpora soporte de plataforma integrado para Bluetooth Low Energy en la función central y proporciona API que las aplicaciones pueden usar para descubrir dispositivos, consultar servicios y características de lectura / escritura.

Con la introducción de Android 4.4 KitKat , ¿también puede comportarse como un dispositivo periférico ahora? No pude encontrar ninguna documentación de eso. Si no, entonces tenemos que esperar para Android 4.5 para obtener el modo periférico BTLE en el dispositivo Android? ¿O hay alguna forma alternativa en la que un dispositivo Android se puede hacer para actuar como un dispositivo periférico?

http://developer.android.com/sdk/api_diff/19/changes.html

Mirando la diferencia completa de api, la respuesta en breve: NO

Unesdoc.unesco.org unesdoc.unesco.org

Para agregar soporte de rol periférico ahora tienes que ensuciarte las manos para personalizar la pila de Bluedroid en el nivel de OS, o intentar suerte en los desarrolladores de XDA para ver si alguien ha hecho esto antes. No estoy seguro de que el teléfono Android actual soporte periférico a nivel de hardware, sin embargo.

No en esta versión, pero hay pruebas de que vendrá pronto.
Si miras en BluetoothGatt.java en las fuentes de android-19 hay nuevos métodos listen y setAdvData que no estaban allí en android-18.
Sin embargo, estos no están documentados, ya que no creo que el apoyo nativo esté completo todavía. La última comprobación en AOSP para el modo periférico se titulaba "LE: Añadir soporte para funciones periféricas (2/4)". Además, setAdvData y listen tienen este código:

 if (mContext == null || !mContext.getResources().getBoolean(com.android.internal.R.bool.config_bluetooth_le_peripheral_mode_supported)) { throw new UnsupportedOperationException("BluetoothGatt#listen is blocked"); } 

Buscando en android / platform_frameworks_base / blob / master / core / res / res / valores / config.xml de las fuentes de Android se puede ver que está actualmente deshabilitado:

 <!-- Boolean indicating if current platform supports BLE peripheral mode --> <bool name="config_bluetooth_le_peripheral_mode_supported">false</bool> 

Gracias a todos por las respuestas. Sólo para actualizar, a partir de junio de 2014, se ofrece en la vista previa Android L Developer. Espero verlo en el lanzamiento oficial de Android L Desde su blog Nuevo en Android: L Preview para desarrolladores y Google Play Services 5.0 :

La L Developer Preview le permite explorar muchas de las nuevas características y capacidades de la próxima versión de Android y ofrece todo lo que necesita para comenzar a desarrollar y probar en la nueva plataforma. Éstos son algunos de los aspectos más destacados para los desarrolladores:

Modo periférico BLE : los dispositivos Android ahora pueden funcionar en el modo periférico Bluetooth Low Energy (BLE). Las aplicaciones pueden utilizar esta capacidad para transmitir su presencia a dispositivos cercanos; por ejemplo, ahora puede crear aplicaciones que permitan que un dispositivo funcione como podómetro o monitor de salud y transmita datos a otro dispositivo BLE.

Actualizar:

La mala noticia es que el modo BLE Peripheral sólo funcionará en los nuevos dispositivos Android (según la fecha), a saber, Nexus 6 y Nexus 9. No funcionará en Nexus 4 / Nexus 5 / nexus 7 / nexus 10, incluso si usted Actualizarlo a Android 5.0. Puede leer el comentario de uno de los gestores de proyectos de Android en el modo de publicidad BLE que no funciona . Él dice:

Hemos introducido el modo periférico BLE en Android 5.0 Lollipop. Nexus 6 y Nexus 9 son los dos primeros dispositivos Nexus de producción que soportan el modo periférico BLE. Debido a la dependencia del chipset de hardware, los dispositivos Nexus más antiguos (4/5/7) no tendrán acceso a la función de Lollipop.

  • Nodificación de la señal de la señal de Bluetooth
  • Android: Envío de datos> 20 bytes by BLE
  • Cómo borrar mediante programación la caché Bluetooth utilizando GattServer
  • Android 4.3: BLE: Comportamiento de filtrado de startLeScan ()
  • Ble scanning callback sólo se llaman varias veces y luego se detiene
  • Android 4.3: Cómo conectarse a varios dispositivos Bluetooth Low Energy
  • ¿Cómo mejorar el rendimiento de GATT de baja energía de Bluetooth de Android?
  • Android 6.0 Marshmallow - no se puede conectar a un periférico bluetooth cuando otra aplicación está escaneando
  • ¿Cómo obtener RSSI sin conexión al dispositivo BLE?
  • ¿Cuántos dispositivos podemos emparejar vía Bluetooth de BLE a Android?
  • Android, ¿Cómo puedo hacer que el dispositivo BLE esté conectado a un dispositivo (vinculado)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.