首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在安卓中获得低或高的wifi连接吗?

我可以在安卓中获得低或高的wifi连接吗?
EN

Stack Overflow用户
提问于 2011-03-11 13:50:05
回答 2查看 1.8K关注 0票数 2

我能得到低或高的wifi连接吗?我的意思是,我可以测量信号电平从1到5。(假设只有一个网络)。我使用了计算信号电平。但是它要么返回0,要么返回1。

EN

回答 2

Stack Overflow用户

发布于 2011-03-11 14:16:19

您需要导入以下两个类

代码语言:javascript
复制
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;

然后,您可以像这样测量wifi信号强度:

代码语言:javascript
复制
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);            
WifiInfo info = wifi.getConnectionInfo();           
int wifiSignalStrength = WifiManager.calculateSignalLevel(info.getRssi(), 4);

//displaying the wifi signal level in a Toast   
Toast.makeText(getApplicationContext(), "signal strength: "+wifiSignalStrength, Toast.LENGTH_LONG).show(); 
票数 7
EN

Stack Overflow用户

发布于 2012-08-20 04:01:44

实际上,API中的代码是有缺陷的;如果您使用46个或更多的级别,它将始终返回0。有关更多信息,请阅读here。我猜大多数人会想要使用101作为关卡,以准确地计算百分比。

它在4.0.1和更高版本中得到了修复。我做了这个,这样你就可以在任何平台版本上使用它。

代码语言:javascript
复制
public int getWifiSignalStrength(Context context){
    int MIN_RSSI        = -100;
    int MAX_RSSI        = -55;  
    int levels          = 101;
    WifiManager wifi    = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);            
    WifiInfo info       = wifi.getConnectionInfo(); 
    int rssi            = info.getRssi();

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){
        return WifiManager.calculateSignalLevel(info.getRssi(), levels);
    } else {             
        // this is the code since 4.0.1
        if (rssi <= MIN_RSSI) {
            return 0;
        } else if (rssi >= MAX_RSSI) {
            return levels - 1;
        } else {
            float inputRange = (MAX_RSSI - MIN_RSSI);
            float outputRange = (levels - 1);
            return (int)((float)(rssi - MIN_RSSI) * outputRange / inputRange);
        }
    }
}//end method
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5269448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档