Как подключиться к SSID и получить статус соединения с получателем
В настоящее время я работаю над приложением, которое должно подключиться к определенному SSID и создать сокет с AP. Я хочу получить событие, когда соединение установлено через приемник. Я использую этот код для подключения к SSID:
public boolean connectToSSID(Context context, final String ssid, final String pass) {
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + ssid + "\""; // Please note the quotes.
// String should
// contain ssid in quotes
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
List<ScanResult> networkList = wifiManager.getScanResults();
setText("Check WiFi devices");
if (networkList != null) {
for (ScanResult network : networkList) {
// check if current connected SSID
if (network.SSID.equals(ssid)) {
// get capabilities of current connection
String Capabilities = network.capabilities;
// Log.d (TAG, network.SSID + " capabilities : " +
// Capabilities);
if (Capabilities.contains("WPA2")) {
conf.preSharedKey = "\"" + pass + "\"";
} else if (Capabilities.contains("WPA")) {
conf.preSharedKey = "\"" + pass + "\"";
} else if (Capabilities.contains("WEP")) {
conf.wepKeys[0] = "\"" + pass + "\"";
conf.wepTxKeyIndex = 0;
conf.allowedKeyManagement
.set(WifiConfiguration.KeyMgmt.NONE);
conf.allowedGroupCiphers
.set(WifiConfiguration.GroupCipher.WEP40);
}
wifiManager.addNetwork(conf);
List<WifiConfiguration> list = wifiManager
.getConfiguredNetworks();
for (WifiConfiguration i : list) {
if (i.SSID != null && i.SSID.equals("\"" + ssid + "\"")) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reconnect();
/*if(isWifiConnected(context)){
setText("Connected to SSID");
return true;
}else{
setText("Unable to connect");
return false;
}*/
return true;
}
}
break;
}
}
}
return false;
}
Я уже прочитал эти вопросы, но не смог найти ответ.
Как программно подключиться к определенной сети Wi-Fi в Android?
Как узнать, подключен ли Wi-Fi на Android?
Как определить, когда WIFI-соединение установлено в Android?
Как автоматически подключить WiFi с указанным SSID?
Вопрос в том, как я могу получить событие подключения через приемник? Заранее спасибо