Как проверить, подключен ли я к определенной сети Wi-Fi? - PullRequest
0 голосов
/ 01 мая 2018

Я совершенно новичок в разработке приложений для Android. Я хочу, чтобы мое приложение (постоянно или, возможно, каждые несколько минут) проверяло в фоновом режиме, подключено ли я к определенной сети Wi-Fi. Если это так, он должен вызвать определенный класс. К сожалению, на данный момент не так много фрагмента кода, который я мог бы предоставить. Может ли кто-нибудь помочь мне сделать это?

Ответы [ 2 ]

0 голосов
/ 01 мая 2018

Просто определите метод, который будет определять, подключено ли устройство в настоящее время к определенному SSID:

public boolean isConnectedTo(String ssid, Context context) {
    boolean retVal = false;
    WifiManager wifi = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    WifiInfo wifiInfo = wifi.getConnectionInfo();
    if (wifiInfo != null) {
        String currentConnectedSSID = wifiInfo.getSSID();
        if (currentConnectedSSID != null && ssid.equals(currentConnectedSSID)) {
            retVal = true;
        }
    }
    return retVal;
}

Тогда просто используйте метод, подобный этому:

if (isConnectedTo("SOME_SSID", MainActivity.this)) {
    //Call into other class
}
0 голосов
/ 01 мая 2018

Вы пробовали использовать:

android.net.wifi.WifiInfo.getSSID()

Посмотрите документацию для этого метода. Там также есть более полезная информация, которую вы можете получить от WifiInfo.

...