¿La API de Android 20 permite que los dispositivos compatibles con Bluetooth LE actúen como un dispositivo periférico?
Estoy utilizando el siguiente código para configurar el dispositivo Android como periférico, pero no parece que funcione. ¿Sabe si el modo periférico es compatible con API 20?
BluetoothGattServer mGattServer; public void startPeripheralGattServer() { final BluetoothManager bluetoothManager = (BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE); mGattServer = bluetoothManager.openGattServer(getApplicationContext(), new BluetoothGattServerCallback() { @Override public void onCharacteristicReadRequest(BluetoothDevice device, int requestId, int offset, BluetoothGattCharacteristic characteristic) { if (mGattServer != null) { mGattServer.sendResponse(device, requestId, BluetoothGatt.GATT_SUCCESS, offset, new byte[] { '1' }); } } }); UUID serviceUUID = UUID.randomUUID(); UUID characteristicUUID = UUID.randomUUID(); UUID descriptorUUID = UUID.randomUUID(); BluetoothGattCharacteristic characteristic = new BluetoothGattCharacteristic(characteristicUUID, BluetoothGattCharacteristic.PROPERTY_READ, BluetoothGattCharacteristic.PERMISSION_READ); characteristic.setValue(77, BluetoothGattCharacteristic.FORMAT_UINT8, 0); BluetoothGattDescriptor descriptor = new BluetoothGattDescriptor(descriptorUUID, BluetoothGattDescriptor.PERMISSION_READ); characteristic.addDescriptor(descriptor); BluetoothGattService service = new BluetoothGattService(serviceUUID, BluetoothGattService.SERVICE_TYPE_PRIMARY); service.addCharacteristic(characteristic); mGattServer.addService(service); }
- ¿Cómo obtener el nivel de la batería después de conectarse al dispositivo BLE?
- El dispositivo Android BLE recibe resultados extremadamente irregulares
- ¿Cómo mejorar la medición de la distancia Bluetooth mediante RSSI?
- Ble scanning callback sólo se llaman varias veces y luego se detiene
- Android Bluetooth aceptar () / connect () con dispositivos ya emparejados
- Seguridad de emparejamiento BLE
- Error Android Bluetooth LE: Error al registrar la devolución de llamada
- BluetoothLeScanner.startScan con Android 6.0 no detecta dispositivos
- Bluetooth GATT onConnectionState El cambio no funciona en Lollipop
- ¿Funciona BluetoothLeAdvertiser en un Nexus 5 con Android 5.0?
- ¿Qué camino es mejor para volver a conectar el dispositivo BLE? ¿Usar `autoConnect = true` o realizar una exploración repetitiva?
- Cómo resolver el error onClientConnectionState () - status = 22 clientIf = 7 en BLE
- StartLeScan con 128 UUIDs de bits no funciona en la implementación BLE de Android nativa
Basado en este video de E / S de Google para Bluetooth Low Energy , el modo periférico estará disponible en Android API 20 (Android L) y superior.
El modo periférico está soportado con la API 20. Sin embargo, para transmitir como un modo periférico, son necesarios Android 5.0+ y el firmware que soporta el Modo periférico Bluetooth de baja energía. Hasta diciembre de 2014, sólo los dispositivos Nexus 6 y Nexus 9 son conocidos por tener firmware que soporta Bluetooth Low Energy Peripheral Mode.
Haga clic aquí para obtener más información
Estarán disponibles desde el Nivel 21 de la API
BLE Peripheral APIs disponibles desde API Level 21
- Cómo ordenar puntos geográficos según la distancia desde la ubicación actual en Android
- Cómo restablecer listview después de searchview se cierra en android?