things - Cómo usar Broadcom BLE SDK(SMART 4.0) en Android 4.X
bluetooth low energy android example (8)
Parece que algo también puede faltar en los teléfonos HTC. Este error significa que probablemente haya una capa de software faltante (o mal funcionamiento) entre el hardware BLE y la API. En cuanto a hoy, solo he visto a BLE trabajando en un Motorola Razr, pero parece estar limitado al perfil de frecuencia cardíaca (y no usa la API de Broadcom).
Estoy tratando de desarrollar una aplicación BLE bluetooth (SMART) para Android.
Logré descargar Broadcom BLE SDK , instalar a través de Android SDK Manager como se explica en el sitio web y descargar los ejemplos de los proyectos .
Cuando traté de introducir uno de los ejemplos en mis teléfonos de prueba (HTC One S, HTC One X ambos con la función Bluetooth BLE), me enfrento al siguiente problema:
INSTALL_FAILED_MISSING_SHARED_LIBRARY
¿Hay alguna posibilidad de incluir la biblioteca de broadcom descrita en el archivo AndroidManifest.xml? <uses-library android:name="com.broadcom.bt.le" android:required="true"/>
¿Alguien ha podido probar los ejemplos de proyectos de broadcom? ¿Y en qué teléfono?
Según esta publicación , se descubrió un error en Samsung Galaxy S3, pero no encontré ninguna información sobre los productos de HTC.
ACTUALIZACIÓN: ¡Qué gran noticia!
La última versión de Android 4.3 (Jelly Bean) ahora admite accesorios Smart Bluetooth de baja energía.
http://www.android.com/about/jelly-bean/
https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx
No estoy seguro de que todos los teléfonos tengan una actualización (incluso el último HTC One M7, por ejemplo), pero los próximos teléfonos incluirán esta versión principal.
El problema es que si su teléfono no tiene instalado el archivo .so, esto no va a ayudar.
Y su dispositivo tendrá (al momento de escribir este documento) el archivo .so si Broadcom ha bendecido el dispositivo.
Por ejemplo, la última compilación oficial (4.0.4) para el razonablemente nuevo Samsung Galaxy Nexus no lo hace.
Para aquellos que no saben, hay dos API diferentes (incompatibles) para Bluetooth BAJO ENERGÍA (BtLE, ahora aparentemente llamado BT Smart). Uno es de Broadcom, y el otro es de Motorola. Como era de esperar, cada uno solo funciona en un teléfono que tiene fichas de ese proveedor.
¡Esta es una situación terrible y terrible, y Google REALMENTE necesita moverse en una solución o Android se volverá totalmente irrelevante en una pequeña industria conocida como HEALTHCARE !!!!!
Si algún cuerpo escribe una aplicación en función de este SDK, hay una línea que quiero contar
en DeviceDiscovery llaman a un método getDeviceType que no está definido en ninguna parte de la base de código JB de Android, por lo que solo se bloquea allí. por lo tanto, si se esfuerza por eliminar el bloqueo, solo tenga en cuenta que no puede hacerlo si se bloquea en el evento Detección del dispositivo.
Confirmar que BroadCom BLE stack funciona en HTC 1X + y coopera con TI KeyFob Demo estándar.
Parece que estoy haciendo una publicación tonta, pero pensé que alguien podría animarse a seguir por una declaración inequívoca de al menos un pequeño éxito.
BleFindMeClient realmente funciona en el HTC 1X + en conjunción con el Keyknot TI CC2540-mini KeyFobDemo en la distribución de TI.
Nunca he escrito una aplicación Andoid, o un código para el mando de TI, así que me tomó un tiempo frustrantemente largo descubrir cómo funcionaban todas las herramientas y cómo configurarlas, pero no había una verdadera magia. Para mí, algunas de las otras demos de Android no compilan la puerta sin algunos ajustes de código, pero esa podría ser mi inexperiencia.
En el otro tema relacionado con getDeviceType (), aquí hay un fragmento de código que funciona perfectamente cada vez en el HTC 1x +. Espero que esto ayude también.
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
if ( BleAdapter.getDeviceType(device) == BleAdapter.DEVICE_TYPE_BLE ) {
...
}
El HTC One X y One S usan un chip Qualcomm Bluetooth, no Broadcom. Por lo tanto, no se espera que Broadcom SDK funcione. Hay un HTC BLE SDK que funciona con HTC One X +, Droid DNA y HTC One que puede suscribirse para el HTC BLE SDK aquí:
http://www.htcdev.com/devcenter/opensense-sdk/partner-apis/bluetooth-low-energy/
Alguien encuentra la solución aquí .
Los tres pasos para hacer son:
- No incluir en el archivo de manifiesto.
- En Propiedades del proyecto → Ruta de compilación de Java → Bibliotecas → Agregar jar externo , agregue broadcom ble jar.
- En Propiedades del proyecto → Ruta de compilación de Java → Ordenar y exportar , compruebe el jar incluido en el paso 2.
Finalmente, los proyectos de .getDeviceType()
Broadcom se ejecutan, pero fallan después de unos segundos debido a un método virtual desconocido no implementado en HTC ( .getDeviceType()
, ...)!
¡Qué gran noticia!
La última versión de Android 4.3 (Jelly Bean) ahora admite accesorios Smart Bluetooth de baja energía.
http://www.android.com/about/jelly-bean/
https://developer.bluetooth.org/Pages/Bluetooth-Android-Developers.aspx
No estoy seguro de que todos los teléfonos tengan una actualización (incluso el último HTC One M7, por ejemplo), pero los próximos teléfonos incluirán esta versión principal.
Solo para aclarar, solo comenzando con estos dispositivos HTC actualmente disponibles encontrará soporte BLE: el HTC One X +, el HTC Droid DNA, y por supuesto el HTC One y los próximos dispositivos emblemáticos. Tenga en cuenta que, a partir del 4.3, debe migrar para usar la API estándar oficial de Android BLE, para admitir dispositivos anteriores a la 4.3, puede usar la API de HTC BLE. Consulte https://www.htcdev.com/devcenter/opensense-sdk/bluetooth-smart para obtener más información y código de muestra que admita ambas API.