2016-06-13 88 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