我是 Android 新手,我的应用使用蓝牙从小型称重传感器放大器接收数据。虽然在某些设备(三星设备)中,BT 信号强度(RSSI)按预期变化(从近距离的 -20 左右到 10m 处的 -80 左右),但在其他一些设备(至少是 LG 型号)中,RSSI很奇怪,在短距离内约为 200(正值!)。我假设 LG 手机没有以 dBm 为单位提供 RSSI 值。在所有情况下,三星平板电脑和 LG 手机始终连接到同一远程设备(我的客户正在开发的放大器 sample )。实际上我的问题是,在这种情况下,不同的 Android 设备(或不同的 Android 版本)对同一个 API 调用的响应不同是否正常。
最佳答案
RSSI 是一个 8 位有符号二进制补码整数(-128 到 127)。 如果您以字节形式读取该值,那么您将获得任何设备的正确值范围。 如果您将其作为整数或字符串读取,您最终可能会在某些设备上得到正确的值,但在其他设备上却不正确...
200 作为一个 8 位有符号二进制补码整数等于 -56
关于android - 蓝牙 RSSI 值在所有 Android 设备中始终以 dBm 为单位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21609544/