2016-04-19 12 views
0

を外した後、私はプログラムによる、プログラムでそれから

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

を使用してWiFiネットワークから切断されてしまった。しかし、私は再び同じネットワークに再接続することはできませんよ。

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

を使用して再接続しようとしましたが、接続できませんでした。どうすればWiFiネットワークに再接続できますか?

おかげで、

答えて

1

ので、完全な、単純化ソリューションは次のようになります:

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

はそれがあなたのお役に立てば幸いです!

+0

wifiConfig.preSharedKeyでWiFiパスワードを入力する必要がありますか? – Ramanujam

+0

はい、パスワードを入力する必要があります! @Ramanujam –

+0

私はモバイルインターネットを使用する前に切断されたから同じWiFiネットワークに接続したいです。 – Ramanujam

関連する問題