gpt4 book ai didi

android - 如何获得蓝牙低功耗设备的 RSSI 值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:14:36 24 4
gpt4 key购买 nike

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

最佳答案

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

1) 对于 Android 4.4 + 至 5.0,您必须通过 BluetoothAdapter 的 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

关于android - 如何获得蓝牙低功耗设备的 RSSI 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29365737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com