小编Emr*_*ürk的帖子

如何获得连接WiFi android的信号强度?

我想获得与我的设备连接的这个wifi的信号强度.这可能很容易.但我是初学者.这是家庭作业.怎么弄?

我试过这段代码.但它不起作用.

    registerReceiver(new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
        int state = wifi.getWifiState();
        if(state == WifiManager.WIFI_STATE_ENABLED) {
            List<ScanResult> results = wifi.getScanResults();

            for (ScanResult result : results) {
                if(result.BSSID.equals(wifi.getConnectionInfo().getBSSID())) {
                    int level = WifiManager.calculateSignalLevel(wifi.getConnectionInfo().getRssi(),
                            result.level);
                    int difference = level * 100 / result.level;
                    int signalStrangth= 0;
                    if(difference >= 100)
                        signalStrangth = 4;
                    else if(difference >= 75)
                        signalStrangth = 3;
                    else if(difference >= 50)
                        signalStrangth = 2;
                    else if(difference >= 25)
                        signalStrangth …
Run Code Online (Sandbox Code Playgroud)

wireless android signals wifi wifimanager

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

signals ×1

wifi ×1

wifimanager ×1

wireless ×1