我是android编程新手,正在尝试从BLE设备获取RSSI值用于距离测量。我可以扫描并获取设备的名称和mac地址,但我尝试了代码来获取rssi,但无法获得有用的结果,我也使用android开发人员网站上的示例。有人能给我这样做的正确代码吗??
发布于 2015-03-31 18:07:03
this.There的两种解决方案是一种不同的方法,一种可以用于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)对于安卓5.0+设备,必须通过BluetoothLeScanner类的startScan方法开始扫描,如下所示
getBluetoothLeScanner().startScan它有回调onScanResult来通知新扫描的设备,你可以使用下面的代码来获取rssi。
public void onScanResult(int callbackType, ScanResult result) {
final int rssi = result.getRssi(); //RSSI valuehttps://stackoverflow.com/questions/29365737
复制相似问题