Android 如何获得wifi路由器';s ssid使用phonegap?

Android 如何获得wifi路由器';s ssid使用phonegap?,android,cordova,cordova-plugins,Android,Cordova,Cordova Plugins,我正在使用phonegap和java开发一个android移动应用程序。我的要求是捕获wifi路由器的ssid并将其存储到数据库中 是否仍有捕获ssid的方法 提前感谢。请尝试以下操作(仅适用于android)。将以下类包括在src文件夹中 <feature name="WifiInfoPlugin" > <param name="android-package" value="com.example.getWifiInfo.WifiI

我正在使用phonegap和java开发一个android移动应用程序。我的要求是捕获wifi路由器的ssid并将其存储到数据库中

是否仍有捕获ssid的方法

提前感谢。

请尝试以下操作(仅适用于android)。将以下类包括在
src
文件夹中

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

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;
    }

}
之后,index.html脚本中的内容如下:

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一样

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>

并在清单中添加必要的许可证。有什么困难请告诉我

样本输出:

请尝试以下操作(仅适用于android)。将以下类包括在
src
文件夹中

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

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;
    }

}
之后,index.html脚本中的内容如下:

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一样

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>

并在清单中添加必要的许可证。有什么困难请告诉我

样本输出:

请尝试以下操作(仅适用于android)。将以下类包括在
src
文件夹中

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

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;
    }

}
之后,index.html脚本中的内容如下:

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一样

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>

并在清单中添加必要的许可证。有什么困难请告诉我

样本输出:

请尝试以下操作(仅适用于android)。将以下类包括在
src
文件夹中

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

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;
    }

}
之后,index.html脚本中的内容如下:

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一样

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>

并在清单中添加必要的许可证。有什么困难请告诉我

样本输出:

您需要为此开发一个插件。使用Cordova插件不可能吗?我尝试了wifi mac地址并获得了成功..我获得了成功男士..我获得了wifi ssid..比如“我的网络名”@Aravin,你能给我提供任何关于这个的链接吗?你需要开发一个插件。使用Cordova插件是不可能的吗?我尝试了wifi mac地址并获得了成功..我得到了成功人..我得到了我的wifi ssid..比如“我的网络名”@Aravin,你能给我提供任何关于这个的链接吗?你需要开发一个插件。使用Cordova插件是不可能的吗?我尝试了wifi mac地址并获得了成功..我得到了成功人..我得到了我的wifi ssid..比如“我的网络名”@Aravin,你能给我提供任何关于这个的链接吗?你需要开发一个插件。使用Cordova插件不可能吗?我尝试了wifi mac地址并获得了成功。我得到了成功人。我得到了我的wifi ssid。比如“MyNetwork Name”@Aravin,你能给我提供任何关于这个的链接吗?