我是Android新手,我的应用程序使用蓝牙从小型称重传感器接收数据。虽然在某些设备(三星)中,BT信号强度(RSSI)按预期变化(从大约-20,在短距离,到大约-80,在10米),在一些其他(一个LG型号,至少)RSSI非常奇怪,短距离大约200(正值!)。我假设LG手机没有提供dBm的RSSI值。在所有情况下,三星平板电脑和LG手机始终连接到同一个远程设备(我的客户正在开发的放大器样本)。实际上我的问题是,在这种情况下是否正常,不同的Android设备(或不同的Android版本)对同一API调用的回答不同。
答案 0 :(得分:5)
RSSI是一个8位带符号的二进制补码整数(-128到127)。 如果您将值读取为字节,那么您将获得任何设备的正确值范围。 如果你把它读成一个整数或一个字符串,你可能会在某些设备上得到正确的值但在其他设备上却不正确......
200作为8位带符号的二进制补码整数等于-56