2014-07-02 51 views

回答

3

請嘗試以下操作(僅適用於android)。包括下面的類到您的src文件夾

WifiInfoPlugin.class:之後,在您的index.html腳本

package com.example.getmac; 

import org.apache.cordova.api.CallbackContext; 
import org.apache.cordova.api.CordovaPlugin; 
import org.apache.cordova.api.PluginResult; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.content.Context; 
import android.net.wifi.WifiInfo; 
import android.net.wifi.WifiManager; 
import android.util.Log; 
import android.webkit.WebSettings.PluginState; 

public class WifiInfoPlugin extends CordovaPlugin { 
    public static final String SSID_NAME = "WifiInfo"; 

    @Override 
    public boolean execute(String action, JSONArray args, 
      CallbackContext callbackContext) throws JSONException { 
     if (SSID_NAME.equals(action)) { 
      String wifiInfo = this.getWifiInfo(); 
      Log.e("Wifi SSID", wifiInfo); 
      if(wifiInfo != ""){ 
       JSONObject jsonResult = new JSONObject(); 
      try { 
        jsonResult.put("Wifi SSID", wifiInfo); 
        PluginResult r= new PluginResult(PluginResult.Status.OK,jsonResult); 
        callbackContext.success(wifiInfo); 
        r.setKeepCallback(true); 
        return true; 

      } catch (JSONException e) { 
       PluginResult r = new PluginResult(PluginResult.Status.JSON_EXCEPTION); 
       callbackContext.error("error"); 
       r.setKeepCallback(true); 
       callbackContext.sendPluginResult(r); 
       return true; 
      } 
     } 
     } 
     return false; 
    } 

    private String getWifiInfo() { 

     WifiManager manager = (WifiManager)this.cordova.getActivity().getApplicationContext().getSystemService(Context.WIFI_SERVICE); 
     WifiInfo info = manager.getConnectionInfo(); 
     //String address = info.getMacAddress(); 
     String address = info.getSSID(); 
     Log.e("ssid address", address); 
     return address; 
    } 

} 

是這樣的:

document.addEventListener("deviceready",onDeviceReady,false); 

function onDeviceReady(){ 
    var success = function(result) { alert("The SSID is " + result); }; 
    var error = function(message) { alert("Oopsie! " + message); }; 
    WifiInfo.createEvent(success,error); 
} 

然後創建getWifiInfoFromPLT.js像包括此js in index page

var WifiInfo = { 

createEvent : function(successCallback, failureCallback) { 
    cordova.exec(successCallback, failureCallback, 'WifiInfoPlugin', 
      'WifiInfo', []); 
} 
}; 

添加下面的內容在res/xml/cofig.xml文件夾

<feature name="WifiInfoPlugin" > 
    <param 
     name="android-package" 
     value="com.example.getWifiInfo.WifiInfoPlugin" > 
    </param> 
</feature> 

,並添加necessary permissons in your manifest。讓我知道,任何困難

樣本輸出: enter image description here

相關問題