moduleEasyWiFi

来自于:开发者立即使用

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例(模块demo论坛帖链接),示例中包含示例代码、知识点讲解、注意事项等,供您参考。

概述

wifi封装了获取当前设备当前连接的wifi的ssid接口,在android平台上(2015.4.24号版本开始)支持获取当前环境下的wifi列表,和连接到指定wifi。由于苹果安全机制,iOS暂时不开放获取wifi列表和链接wifi的功能接口。本模块由第三方模块开发者提供,使用本模块需在线云编译安装包

iOS 端使用说明: 在 iOS 平台上使用本功能,需要在 生成包名(bundle id) 的时候,勾选 Access WiFi Information 功能。如下图

配置 entitlement 文件

iOS 上使用本模块前,需要先配置一个 entitlement 文件。配置方法参考论坛帖子 iOS修改entitlements文件

配送参数如下:

<key>com.apple.developer.networking.wifi-info</key>
<true/>

注意:iOS 13以后需要先调用requestLocation接口获取用户位置权限调用currentWifi接口才能获取设备当前连接的wifi信息,已经开启位置权限的不需要调用此接口

实例widget下载地址

模块接口

currentWifi

获取已安装的应用列表

currentWifi(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{"status":  //操作成功状态值 
bssid:     //无线ap的mac地址
ssid:       //无线ap名称
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorCode:2 //code = 2网络未开启
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function currentWifi(){
            moduleEasyWiFi.currentWifi(function(ret, err){
                if (ret.status) {
                    api.alert({ msg: ret.ssid + "*" + ret.bssid });
                } else {
                    api.alert({ msg: ret.msg });
                }
            });
        }

可用性

Android系统、iOS系统

可提供的1.0.0及更高版本

getWifiState

获取当前wifi状态

getWifiState(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{status:            //操作成功状态值
wifiState:      //wifi的状态 ,取值范围如下
    WIFI_STATE_DISABLED = 1;
    WIFI_STATE_DISABLING = 0;
    WIFI_STATE_ENABLED = 3;
    WIFI_STATE_ENABLING = 2;
    WIFI_STATE_UNKNOWN = 4;
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function getWifiState(){
            moduleEasyWiFi.getWifiState(function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

scanWifiList

扫描获取附近的wifi列表

scanWifiList(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{status:            //操作成功状态值
    scanWifiList:   //wifi列表 
     内部字段:[{
              frequency:      //
              level:          //
              bssid:          //
              capabilities:   //
              ssid:           //
          }]
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorCode://错误码,code = 2 申请权限
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi  = api.require('moduleEasyWiFi');
function scanWifiList(){
            moduleEasyWiFi.scanWifiList(function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

getConfiguredNetworks

获取已经配置过的wifi列表

getConfiguredNetworks(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:                  //操作成功状态值
    configuredNetworks:   //数组类型 ,
         内部字段:[{
              hiddenSSID:     //
              networkId:      //
              priority:      //
              bssid:          //
              status:         //
              ssid:           //
          }]
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function getConfiguredNetworks(){
            moduleEasyWiFi.getConfiguredNetworks(function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

openWifi

打开wifi

openWifi(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{status:               //操作成功状态值
        result:      //wifi的状态 ,取值范围如下
    WIFI_STATE_DISABLED = 1;
    WIFI_STATE_DISABLING = 0;
    WIFI_STATE_ENABLED = 3;
    WIFI_STATE_ENABLING = 2;
    WIFI_STATE_UNKNOWN = 4;
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function openWifi(){
            moduleEasyWiFi.openWifi(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

closeWifi

获取已安装的应用列表

closeWifi(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{status:               //操作成功状态值
    result:      //wifi的状态 ,取值范围如下
                      WIFI_STATE_ENABLED   = 1  已开启
                      WIFI_STATE_ENABLING  = 0   正在开启
                      WIFI_STATE_DISABLED  = 3   已关闭
                      WIFI_STATE_DISABLING  = 2  正在关闭
                      WIFI_STATE_UNKNOWN = 4   未知状态
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function getAppList(){
            moduleEasyWiFi.closeWifi(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

disconnect

获取已安装的应用列表

disconnect(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:               //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function disconnect(){
            moduleEasyWiFi.disconnect(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

disableNetwork

禁用配置列表中的某网络

disableNetwork({params}, callback(ret, err))

params

ssid:

  • 类型:字符串
  • 描述:要禁用的wifi的名字,不可为空

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:                 //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi  = api.require('moduleEasyWiFi');
function disableNetwork(){
            var param = {ssid:""};
            moduleEasyWiFi.disableNetwork(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

removeNetwork

删除配置列表中的某网络

removeNetwork({params}, callback(ret, err))

params

ssid:

  • 类型:字符串
  • 描述:要禁用的wifi的名字,不可为空

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:                 //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function removeNetwork(){
            var param = {ssid:""};
            moduleEasyWiFi.removeNetwork(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

manageWifiBySystem

跳转到系统设置界面

manageWifiBySystem(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:               //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:

​```js { errorMsg: "" //错误信息 }


## 示例代码

```js
var moduleEasyWiFi  = api.require('moduleEasyWiFi');
function manageWifiBySystem(){
            moduleEasyWiFi. manageWifiBySystem(function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

connect

获取已安装的应用列表

connect(callback(ret, err))

params

ssid:

  • 类型:布尔值
  • 默认值:无
  • 描述:要链接的wifi的名字,不可为空

password:

  • 类型:布尔值
  • 默认值:无
  • 描述:要连接的wifi的密码,需要与要连接的wifi密码一致,不可为空

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:                 //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function connect(){
            moduleEasyWiFi.connect(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本

connect

链接某网络

connect(callback(ret, err))

params

ssid:

  • 类型:布尔值
  • 默认值:无
  • 描述:要链接的wifi的名字,不可为空

password:

  • 类型:布尔值
  • 默认值:无
  • 描述:要连接的wifi的密码,需要与要连接的wifi密码一致,不可为空

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
     status:                 //操作成功状态值
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    errorMsg: "" //错误信息
}

示例代码

var moduleEasyWiFi = api.require('moduleEasyWiFi');
function connect(){
            moduleEasyWiFi.connect(param, function(ret, err){
                alert(JSON.stringify(ret));
            });
        }

可用性

Android系统

可提供的1.0.0及更高版本