2015-09-25 115 views
0

我想测试Android中的wifi连接。我的程序总是返回CONNECTED,不管我使用什么密码或者类型是网络。 下面的代码有什么问题。ANDROID - 测试wifi连接

String checkConnection(ScanResult sr,String password) 
{ 
     String sreturn="NOT CONNECTED"; 

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

     WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE); 

     if (wifiManager.addNetwork(wifiConfig) != -1) 
     { 
       if (wifiManager.enableNetwork(netId, true)) { 
        sreturn = "CONNECTED"; 
        wifiManager.disableNetwork(netId);   
       } 
       wifiManager.removeNetwork(netId); 
     } 
     return sreturn; 
    } 

*

+0

您能详细说明您的文章并告诉我们期望的结果是什么,观察到的结果是什么以及您尝试解决的结果? – nbokmans

回答

0

字符串checkConnection(ScanResult SR,字符串password) { 字符串sreturn = “未连接”;

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

    WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE); 

    int netId=wifiManager.addNetwork(wifiConfig);   

    if (netId != -1) 
    { 
      if (wifiManager.enableNetwork(netId, true)) { 
       sreturn = "CONNECTED"; 
       wifiManager.disableNetwork(netId);   
      } 
      wifiManager.removeNetwork(netId); 
    } 
    return sreturn; 
}