2014-02-25 48 views
0

我正在使用下面的代码来计算网络信号强度。Android到网络信号百分比

class SignalStrengthListener extends PhoneStateListener { 
    @Override 
    public void onSignalStrengthChanged(int asu) { 
     // signalStrength = asu; 
     int dbm = -113 + (2 * asu);   
    } 
} 

我怎样才能DBM转换为percentage.what较低和的信号强度上限范围。

回答

1

只取数值除以31即可。

0/31 = 0. 1/31〜3%。三十一分之三十〜97%。

99是一个特殊情况,应该像0处理。

+0

你能否提出建议设备信号强度的上限和下限。 – User10001

+0

我有dBM值我可以做转换为programetically @Adhikari –

+0

私人int计算SignalStrengthInPercent(int signalStrength){ return(int)((float)signalStrength/31 * 100); } –

1

只是试图解释计算。

只取值x。

下限为x是= 0

对于x的上限为= 31

现在百分比=(X/31)* 100;