0
我正在開發一個使用phonegap和java的android移動應用程序。我的要求是捕獲無線路由器的ssid並將其存儲到數據庫。如何使用phonegap獲取wifi路由器的ssid?
是否有無法捕捉ssid?
在此先感謝。
我正在開發一個使用phonegap和java的android移動應用程序。我的要求是捕獲無線路由器的ssid並將其存儲到數據庫。如何使用phonegap獲取wifi路由器的ssid?
是否有無法捕捉ssid?
在此先感謝。
請嘗試以下操作(僅適用於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
。讓我知道,任何困難
樣本輸出:
你需要開發一個插件。 – Aravin
使用Cordova插件不可能嗎? – user3189916
我試了wifi的mac地址,並取得了成功.. – Aravin