0

我使用了以下代码,但我仍然有问题,它不返回任何信息:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //initializeWiFiListener();

    }

    public void initializeWiFiListener() {

        String connectivity_context = Context.WIFI_SERVICE;

        final WifiManager wifi = (WifiManager) getSystemService(connectivity_context);

        if (!wifi.isWifiEnabled()) {

            if (wifi.getWifiState() != WifiManager.WIFI_STATE_ENABLING) {

                wifi.setWifiEnabled(true);
            }
        }

      registerReceiver(new BroadcastReceiver() {
            public void onReceive(Context context, Intent intent) {

                WifiInfo info = wifi.getConnectionInfo();
                String ssid = info.getSSID();
                int rssi = info.getRssi();
                int speed = info.getLinkSpeed();
                TextView t1 = (TextView) findViewById(R.id.textView);
                t1.setText(ssid + " " + Integer.toString(rssi) + " " + Integer.toString(speed));
            }

        }, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));
    }

}

没有关于我连接的 wifi 的信息。

如何获取 wifi 信号信息:强度、链接速度?

4

1 回答 1

0

根据文档,调用getConnectionInfo(),WifiManager以获取WifiInfo对象。在那里,您需要getRssi()考虑信号强度和getLinkSpeed()链接速度。

于 2015-09-13T12:55:49.367 回答