2016-04-19 2 views
0

trennen bekam ich von einem WiFi-Netzwerk ProgramaticallyWiederherstellen der Verbindung zu einem WLAN-Netzwerk nach dem von ihm Programatically

mit getrennt
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifi.disconnect(); 
DisconnectWifi discon = new DisconnectWifi(); 
registerReceiver(discon, new IntentFilter(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)); 


public class DisconnectWifi extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context c, Intent intent) { 
    WifiManager wifi = (WifiManager) c.getSystemService(Context.WIFI_SERVICE); 
     if(!intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE).toString().equals(SupplicantState.SCANNING)) 
     wifi.disconnect(); 
     } 
    } 

Aber ich bin nicht in der Lage wieder mit demselben Netzwerk zu verbinden. Ich habe versucht, wieder zu verbinden mit:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifi.reconnect(); 

aber konnte nicht verbinden. Wie kann ich mich jetzt wieder mit dem WiFi-Netzwerk verbinden?

Danke,

Antwort

1

So ist die komplette, würde vereinfachte Lösung wie folgt aussehen:

WifiConfiguration wifiConfig = new WifiConfiguration(); 
wifiConfig.SSID = String.format("\"%s\"", ssid); 
wifiConfig.preSharedKey = String.format("\"%s\"", key); 

WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE); 
//remember id 
int netId = wifiManager.addNetwork(wifiConfig); 
wifiManager.disconnect(); 
wifiManager.enableNetwork(netId, true); 
wifiManager.reconnect(); 

Hoffe, es hilft Ihnen !!

+0

In wifiConfig.preSharedKey muss ich mein WiFi-Passwort setzen? – Ramanujam

+0

Ja, du musst ein Passwort eingeben !! @Ramanujam –

+0

Ich möchte mit demselben WiFi-Netzwerk verbinden, von dem ich früher getrennt habe, um mobiles Internet zu verwenden. – Ramanujam

Verwandte Themen