2016-06-13 87 views
0

我试图暗示我的WifiApp的一些功能为启用 wifi一旦应用是开始。所以我写了一个函数startWifi()我得到错误信息第一个“没有WiFi连接”然后我的wifi没有启用。我正在使用wifiWizard插件。wifiwizard的wifi配置和wifi验证cordova

这里是我的程序 WifiService.js

function startWifi(e){ 
     window.setTimeout(function(){ 
     WifiWizard.setWifiEnabled(e, win_wifi, fail_wifi); 
     }, 500); 

app.js

$scope.startWifi = function(enabled){ 
     WifiService.startWifi(enabled); 
     alert("StartWifi"); 
    } 

并请告诉我怎么写验证,以连接到WiFi网络扫描后的WiFi网络。

回答

1

这是我在创建一个裸露的cordova项目并添加wifiwizard插件后编写的示例代码,用于检查设备中是否启用了wifi,并在禁用时启用该功能。

的index.html

<html> 
    <head>    
     <meta name="format-detection" content="telephone=no"> 
     <meta name="msapplication-tap-highlight" content="no"> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
     <link rel="stylesheet" type="text/css" href="css/index.css"> 
     <title>Wifi Wizard</title> 
    </head> 
    <body>  
     <br>   
     <br> 
     Start Wifi <input type="button" value="wifi" name="Wifi" id="wifi"/>  <br>  
     <script type="text/javascript" src="js/jquery.js"></script> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/app.js"></script> 
    </body> 
</html> 

app.js

$(document).ready(function() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
}); 

function onDeviceReady() {  
    $('#wifi').click(function() 
     { 
      try {    
       WifiWizard.isWifiEnabled(win, fail); 
      } 
      catch(err) { 
       alert("Plugin Error - " + err.message); 
      } 

     }); 

    function win(e) { 
     if(e) { 
      alert("Wifi enabled already"); 
     } 
     else { 
      WifiWizard.setWifiEnabled(true, winEnable, failEnable); 
     } 

    } 

    function fail(e) { 
     alert("Error checking Wifi status"); 
    } 

    function winEnable(e) { 
     alert("Wifi enabled successfully"); 
    } 

    function failEnable(e) { 
     alert("Error enabling Wifi "); 
    } 
} 

请确保包括jQuery库文件在你的HTML。您还可以查看此SO Post以获取有关使用该插件执行无线扫描的更多信息。

已经在Android 6设备上测试过,并且工作正常。

+0

@RSN按照我提到的链接获取SSID列表后,您可以使用“WifiWizard.connectNetwork(SSID,win,fail);”连接到任何特定的SSID。 – Gandhi

+0

@RSN还没有尝试过。但应该正常工作,因为它是一个普通的JavaScript。 – Gandhi

+0

而不是wifi已启用,我可以尝试禁用wifi使用代码wifiwizard.setWifiEnabled(false),无论它工作,如果我尝试 – learner