Как получить информацию о сигналах Wi-Fi: сила, скорость соединения на Android Studio?

Я использовал следующий код, но у меня все еще есть проблемы, он не возвращает никакой информации:

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));
    }

}

нет никакой информации о моем подключенном Wi-Fi.

Как получить информацию о сигналах Wi-Fi: сила, скорость соединения?

1 ответ

На основании документации звоните getConnectionInfo() на WifiManager, чтобы получить WifiInfo объект. Там у вас есть getRssi() для силы сигнала и getLinkSpeed() для скорости ссылки.

Другие вопросы по тегам