> For the complete documentation index, see [llms.txt](https://yongxin.gitbook.io/yongxin-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yongxin.gitbook.io/yongxin-docs/documentation/zhi-neng-jie-zhi-sdk-shi-yong/huo-qu-lan-ya-xin-hao.md).

# 获取蓝牙信号

在一些特殊场合，比如ota之前，想要查看一下当前戒指的蓝牙信号，可以调用该部分内容，信号一般与设备有关，与距离有关，与环境有关

### 获取蓝牙信号

**android：**

RSSI（**接收信号强度指示**）是信号强度的意思，一般用于ota升级前对戒指的信号检测，建议 > -70

```java
    BLEService.readRomoteRssi();
    Log.i(TAG, "rssi = "+ BLEService.RSSI);
```

会有一点延时，在Activity里注册个回调获取

```java
BLEService.setCallback(new BluetoothConnectCallback() {
            @Override
            public void onConnectReceived(String data) {
             
            }

            @Override
            public void onGetRssi(int rssi) {
             //获取rssi
                App.getInstance().getDeviceBean().setRssi(rssi);
            }
        });
```

如需要实时显示信号，可以定一个定时器，定时去获取<br>

```java
private Handler handlerRssi = new Handler();
private void startGetRssi(){
    handlerRssi.postDelayed(new Runnable() {
        @Override
        public void run() {
            BLEService.readRomoteRssi();
            handlerRssi.postDelayed(this, 1000); // 每1000毫秒更新一次
        }
    }, 1000);
}
private void stopGetRssi(){
    handlerRssi.removeCallbacksAndMessages(null); // 清除所有回调
}
```

还是在 public void onGetRssi(int rssi)得到信号<br>

### 2.8 读取RSSI

**iOS:**

```swift
/// 读取已连接设备的RSSI
/// - Parameters:
///   - interval: 时间间隔（单位：秒）
///   - readRSSIBlock: 读取RSSI回调
func startReadRSSI(interval: TimeInterval, readRSSIBlock: @escaping (Result<NSNumber, BCLError>) -> Void)

/// 停止RSSI读取
func stopReadRSSI()
```

#### 调用示例

```swift
// 每2秒读取一次RSSI
BCLRingManager.shared.startReadRSSI(interval: 2.0) { result in
    switch result {
    case .success(let rssi):
        print("RSSI值: \(rssi)")
    case .failure(let error):
        print("RSSI读取失败: \(error)")
    }
}

// 停止读取
BCLRingManager.shared.stopReadRSSI()
```

需要注意rssi变化略微延迟，数字越大，信号越强，如 -52 > -60\
这个信号量，会影响到主动测量的质量，可以在页面上，进行提示，如果信号量小于-80，则提示"蓝牙信号弱，请将设备靠近手机"，可以闪烁图标进行提示
