Как обнаружить новый WiFi в зоне действия, когда приложение закрывается? - PullRequest
0 голосов
/ 12 апреля 2020

Я пытаюсь реализовать функцию, при которой приложение должно автоматически подключаться к Wi-Fi моего офиса, когда этот конкретный WiFi находится в зоне действия (даже когда приложение отключено).

Я попробовал следующий код

val wifiManager = context?.applicationContext?.getSystemService(Context.WIFI_SERVICE) as WifiManager

 if (wifiManager.connectionInfo.ssid != "SampleWIFI")
            {
                wifiManager.scanResults.firstOrNull {
                    it.SSID == "SampleWIFI"
                }?.apply {
                    val wifiConfiguration  = WifiConfiguration()
                    wifiConfiguration.SSID = String.format("\"$SSID\"")
                    wifiConfiguration.preSharedKey = String.format("\"WifiPassword@@\"")
                    val netId = wifiManager.addNetwork(wifiConfiguration)
                    wifiManager.disconnect()
                    wifiManager.enableNetwork(netId,true)
                    wifiManager.reconnect()
                }
            }

Это работает нормально. Но как заставить это работать, когда вы закрываете приложение? Есть ли какой-нибудь широковещательный приемник, который будет срабатывать, когда новый SSID находится в диапазоне / обнаружен?

...