繁体   English   中英

如何获得蓝牙低功耗设备的rssi值?

[英]how to get the rssi value for a bluetooth low energy device ?

我是android编程的新手,并尝试从远程测量的BLE设备获取rssi值。我可以扫描并获取设备的名称和mac地址但我已经尝试了代码来获取rssi但是无法获得有用的结果,我也使用android开发者网站上的示例。 有人可以给我正确的代码吗?

两种解决方案。对于4.0和5.0设备,可以使用不同的方法来搜索/扫描BLE设备。 你没有提到你正在使用哪一个,因此在下面添加了两个解决方案。

1)对于Android 4.4 +到5.0,您必须通过BluetoothAdapter's startLEScan方法启动LE扫描,该方法为您提供RSSI值以下的回调。 看到方法的签名。

onLeScan(BluetoothDevice device, int rssi, byte[] scanRecord)

//上面的第二个参数是RSSI值。

2)对于Android 5.0+设备,你必须通过BluetoothLeScanner类的startScan方法开始扫描,如下所示

getBluetoothLeScanner().startScan

其中有回调onScanResult来通知新的扫描设备,你可以使用下面的代码来获取rssi。

public void onScanResult(int callbackType, ScanResult result) {
final int rssi = result.getRssi(); //RSSI value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM