2014-12-15 4 views
-1

아래 코드에는 WifiManager를 사용하여 Wifi 연결을 관리하는 클래스가 있습니다.
내 문제는 네트워크를 제거한 후 내 네트워크의 Wi-Fi를 켤 때까지 동일한 네트워크를 추가 할 수 없다는 것입니다.android에서 동일한 것을 제거한 후 네트워크를 추가 할 수 없습니다.

public class ConnectWifi { 

private Context _ctx; 
private WifiManager _wifiManager; 

public ConnectWifi(Context ctx) { 
    // TODO Auto-generated constructor stub 
_ctx=ctx; 
_wifiManager= (WifiManager) _ctx.getSystemService(_ctx.WIFI_SERVICE); 
} 

void ConnectToWifi(String _SSID,String _KeyPass){ 

    //_wifiManager.setWifiEnabled(true); 

    //wpa 
    int Id=0; 


    Id=wificonfig(_SSID, _KeyPass); 

    if(Id!=-1) 
    _wifiManager.enableNetwork(Id, true);   

} 

void myRemoveNetwork(){ 


    int ID=_wifiManager.getConnectionInfo().getNetworkId(); 
    //_wifiManager.disconnect(); 
    _wifiManager.removeNetwork(ID); 
    _wifiManager.saveConfiguration(); 
     } 


int wificonfig(String _SSID,String _KeyPass){ 
    WifiConfiguration wc = new WifiConfiguration(); 
    wc.SSID =String.format("\"%s\"", _SSID); 
    wc.preSharedKey = String.format("\"%s\"", _KeyPass); 

    wc.hiddenSSID = true; 
    wc.status = WifiConfiguration.Status.ENABLED;   
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); 
    wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); 
    wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); 
    wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); 
    wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
    int Id = _wifiManager.addNetwork(wc); 
    return Id; 
    } 
} 

제거 후 네트워크를 추가 할 수있는 방법은 무엇입니까?

답변

0

저는 WifiManager에 익숙하지 않아 저에게 버그처럼 들립니다. 하지만 네트워크를 제거한 다음 다시 추가하려면 실제로 비활성화하고 대신 활성화 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 사용자가 내 앱을 사용하지 않고 네트워크에 연결할 수 없도록 설정을 제거하고 네트워크를 사용 중지하여 Android 앱이 내 앱을 사용하지 않고 네트워크에 연결할 수 있도록 구성을 유지합니다. – amin

관련 문제