¿Cómo obtener RSSI sin conexión al dispositivo BLE?
Mi aplicación necesita obtener constantemente el valor de RSSI de un dispositivo bluetooth para hacer una aproximación de distancia-rssi, sin conectar . Sin embargo, el método de devolución de llamada del BluetoothAdapter
obtiene el RSSI sólo una vez cuando el dispositivo se escanea.
// Device scan callback private BluetoothAdapter.LeScanCallback leScanCallback = new BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, final int rssi, byte[] scanRecord) { runOnUiThread(new Runnable() { public void run() { ... } }); } };
Como una solución, he creado dos objetos Runnable
. Uno es para iniciar, otro es para detener el proceso de escaneo. Estos dos objetos se llaman continuamente hasta que obtengo el valor deseado de RSSI. Después de que mi Handler
elimina de la cola de mensajes.
- Android, lista de valores rssi para las redes wifi más potentes
- ¿Existe una manera de controlar explícitamente los intervalos de análisis WiFi en Android?
- Diferencia entre getConnectionInfo () y getScanResults () para detectar cambios de intensidad de señal
- Lectura Bluetooth RSSI para perfil de proximidad BLE en Android
- Problema con WifiManager.calculateSignalLevel (RSSI, 5)
private Runnable startScan = new Runnable() { @Override public void run() { bluetoothAdapter.startLeScan(leScanCallback); scanHandler.postDelayed(stopScan, SCAN_INTERVAL); } }; private Runnable stopScan = new Runnable() { @Override public void run() { bluetoothAdapter.stopLeScan(leScanCallback); scanHandler.postDelayed(startScan, STOP_INTERVAL); } };
Esto parece estar funcionando, pero quiero saber si hay una opción más viable para hacer esto sin conexión.
- La aplicación nunca recibe RSSI_CHANGED_ACTION
- Android: ¿Por qué los métodos para obtener las intensidades de la señal de la célula vecina mejor que los de la intensidad de señal de la celda actual?
- ¿Cómo mejorar la medición de la distancia Bluetooth mediante RSSI?
- Velocidad de análisis WiFi más rápida para obtener cambios rssi android
- Android 2.1: ¿Cómo puedo consultar el valor RSSI de una conexión Bluetooth existente?
- ¿Cómo obtener la fuerza de la señal del servicio celular en Android?
- Android IRC Horas de oficina Pregunta Acerca de Android Bluetooth RSSI
- ¿Cómo utilizar LibSVM en Java?
Si el beacon ble es publicitario y no se puede conectar, onLeScan se llama continuamente. Si el beacon ble es conectable, la característica depende del dispositivo.
- Android: mapa personalizado sin conexión utilizando una imagen
- Clase personalizada que carga / reemplaza las clases nativas de Android