在Android WifiManager中Rssi的含义是什么?

我试图使用getRSSi()获取当前wifi连接的信号强度
private void checkWifi(){
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo Info = cm.getActiveNetworkInfo();
    if (Info == null || !Info.isConnectedOrConnecting()) {
        Log.i("WIFI CONNECTION","No connection");
    } else {
        int netType = Info.getType();
        int netSubtype = Info.getSubtype();

        if (netType == ConnectivityManager.TYPE_WIFI) {
            wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
            int linkSpeed = wifiManager.getConnectionInfo().getLinkSpeed();
            int RSSi = wifiManager.getConnectionInfo().getRSSi();
            Log.i("WIFI CONNECTION","Wifi connection speed: "+linkSpeed + " RSSi: "+RSSi);


        //Need to get wifi strength
        } 
    }
}

事情是我得到像-35或-47等数字…我不明白他们的价值观..我已经看了android文档及其所有状态:

public int getRSSi ()

Since: API Level 1 Returns the received signal strength indicator of
the current 802.11 network.

This is not normalized,but should be!

Returns the RSSI,in the range ??? to ???

谁能解释如何“正常化”或理解这些结果?

解决方法

根据IEEE 802.11文档:较小的负值表示较高的信号强度.

范围在-100到0 dBm之间,接近0是强度更高,反之亦然.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...