搜索文档 /
开始 插件

Wifi2

WifiWizard2支持Cordova/Phonegap项目中的Android和iOS应用程序的Wifi管理。

该项目是WifiWizard插件的一个分支,包含修复和更新,以及从Cordova Network Manager插件获取的补丁。

https://github.com/tripflex/WifiWizard2

卡在科尔多瓦问题上了?

如果你正在建设一个严肃的项目,你就负担不起花上几个小时进行故障排除。爱奥尼亚的专家为社区插件和卓越插件提供优质咨询服务。betway东盟体育app

今天联系我们!

安装

npm安装cordova-plugin-wifiwizard2 npm安装@ionic nbetway东盟体育appative/wifi-wizard-2 betway东盟体育app离子帽同步 betway东盟体育app您现在的位置是:>资源下载>离子cordova plugin add cordova-plugin-wifiwizard2 npm安装@ionic nbetway东盟体育appative/wifi-wizard-2
betway东盟体育app必威滚球分析软件Ionic Enterprise提供了来自Ionic Team的完全支持和维护的插件。 了解更多 或者如果你对这个插件的企业版感兴趣 联系我们

支撑平台

  • 安卓
  • iOS

用法

反应

看这里。

有棱角的


              进口
             
              
             Wifi2
              
             
              
             
              “@betway东盟体育appionic-native / wifi-wizard-2 / ngx”
              
             
              建造师
              
               私人
              wifiWizard2
               
              Wifi2
              
             
              
             
              
             #全局函数Android和iOS应用程序都可以使用这些函数
               
               
             `打字稿
              
              
             wifiWizard2
              
              getConnectedSSID
              
              
  • 在成功回调中返回已连接的网络SSID(仅当已连接时),否则将调用失败回调(如果未连接或无法检索)

  • 这并 如果无法获得SSID,返回BSSID(就像原始WifiWizard所做的那样)

    
                    
                    
                   wifiWizard2
                    
                    getConnectedBSSID
                    
                    
  • 与上面相同,只是返回BSSID(mac)

    
                    
                    
                   wifiWizard2
                    
                    超时
                    
                   延迟
                    
  • 延迟 延迟的时间应该以毫秒为单位吗

  • 辅助异步超时延迟, 延迟 是可选的,默认值为2000ms=2秒

  • 此方法总是在延迟后返回已解决的承诺,它永远不会拒绝或抛出错误

  • 异步函数内的示例*

    
                    异步
                   
                    作用
                   
                    例子
                    
                    
                    
                   
                    等待
                   
                    
                    
                   wifiWizard2
                    
                    超时
                    
                    4000
                    
                    
                   
                    //在4秒后做某事
                   
                    
  • 标准非异步函数内的示例*

    
                    作用
                   
                    例子
                    
                    
                    
                   
                    
                    
                   wifiWizard2
                    
                    超时
                    
                    4000
                    
                    
                    然后
                    
                   
                    作用
                    
                    
                    
                   
                    //等待4秒后做某事
                   
                    
                    
                    
                   
                    
  • 抛出错误*

  • TIMEOUT_WAITING_FOR_SCAN 等待扫描超时10秒+

  • 扫描失败 如果无法开始扫描

    iOS功能

    对于功能,你需要注意以下几点:

  • 连接/断开仅适用于iOS11+

  • 不能在模拟器中运行,所以你需要在使用xCode构建时附加一个实际的设备

  • 将确保将“热点配置”和“NetworkExtensions”功能添加到您的xCode项目中

  • 要连接到开放网络,请忽略 ssidPassword 或电话

    
                    
                    
                   wifiWizard2
                    
                    IOS连接网络
                    
                   名称
                    
                   ssidPassword
                    
    
                    
                    
                   wifiWizard2
                    
                    iOSDisconnectNetwork
                    
                   名称
                    

    安卓系统功能

  • Wifi2 如果在调用任何需要启用WiFi的android相关方法时禁用WiFi,将自动尝试启用WiFi

    连接与启用

    在编写Android Java代码时,没有 连接 方法,你基本上 使可能 使残废 网络。在WIFI向导的原始版本中 连接 方法基本上只需调用 使可能 在Android中。我已经改变了WifiWizard2版本3.0.0+中的工作方式,将其转换为助手方法,以消除调用 formatWifiConfig 然后 添加 然后 使可能 ... 这个 连接 方法现在将自动调用 formatWifiConfig ,然后调用 添加 来添加或更新网络配置,然后调用 使可能 .如果connect方法无法更新现有的网络配置(由用户或其他应用程序添加),但有一个有效的网络ID,它仍将尝试启用该网络ID。

    
                    
                    
                   wifiWizard2
                    
                    连接
                    
                   名称
                    
                   宾德尔
                    
                   暗语
                    
                   算法
                    
                   isHiddenSSID
                    
  • 名称 应该是要连接到的SSID 必修的

  • 宾德尔 应该设置为 符合事实的 告诉Android从你的Android应用程序路由所有连接,通过wifi连接(默认是 可选

  • 看到 WifiWizard2.enable 有关 宾德尔 功能

  • 算法 暗语 如果连接到开放网络,则不需要

  • 目前 水渍险 WEP 只有支持的算法

  • WPA2 只是通过 水渍险 作为算法

  • isHiddenSSID 符合事实的 如果你连接的网络是隐藏的

  • 这些参数与的参数相同 formatWifiConfig

  • 此方法本质上调用 formatWifiConfig 然后 添加 然后 使可能

  • 如果无法更新网络配置(由用户或其他应用程序添加),但存在有效的网络ID,此方法仍将尝试启用网络

  • 在方法验证到WiFi的连接处于已完成状态(最多等待60秒)之前,不会返回承诺

  • 抛出错误*

  • CONNECT_FAILED_TIMEOUT 无法验证连接,60秒后超时
  • 无效的\u网络\u ID \u到\u连接 无法基于生成的wifi配置进行连接
  • 连接时除外的接口 等待连接时发生中断异常

断开与禁用

与上面的Connect vs Enable相同,但在这种情况下除外, 断开 将首先禁用网络,然后尝试删除它(如果传递了SSID)


              
              
             wifiWizard2
              
              断开
              
             名称
              
  • 名称 可以是SSID(字符串)或网络ID(整数)

  • 名称 可选择的 .. 如果未通过,将断开当前WiFi(现在几乎所有Android版本都将在断开后自动重新连接到最后一个WiFi)

  • 如果 名称 提供时,此方法将首先尝试 使残废 然后 删除 网络

  • 如果您不想删除网络配置,请使用 使残废 而不是

  • 抛出错误*

  • 断开\u网络\u删除\u错误 Android在删除wifi配置时返回错误

  • 断开\u网络\u禁用\u错误 无法基于生成的wifi配置进行连接

  • DISCONNECT_NET_ID_NOT_FOUND 无法确定网络ID来断开/删除(从已通过的SSID)

  • 断开连接时出错 -Android断开wifi时出错(仅当未传递SSID时)

    
                    
                    
                   wifiWizard2
                    
                    formatWifiConfig
                    
                   名称
                    
                   暗语
                    
                   算法
                    
                   isHiddenSSID
                    
  • 算法 暗语 如果连接到开放网络,则不需要

  • 目前 水渍险 WEP 只有支持的算法

  • WPA2 只是通过 水渍险 作为算法

  • isHiddenSSID 符合事实的 如果你连接的网络是隐藏的

    
                    
                    
                   wifiWizard2
                    
                    格式图
                    
                   名称
                    
                   暗语
                    
                   isHiddenSSID
                    
  • 这只是一个调用 WifiWizard2.formatWifiConfig(ssid、密码、'WPA',isHiddenSSID);

    
                    
                    
                   wifiWizard2
                    
                    添加
                    
                   无线网络
                    
  • 无线网络 必须是格式化为的对象 formatWifiConfig 必须 在打电话之前完成 使可能

  • 抛出错误*

  • 不支持身份验证类型 -指定的身份验证类型无效

  • ERROR_ADDING_NETWORK ——Android返回 -1 指定加错网络

  • ERROR_UPDATING_NETWORK -与上面相同,只是找到了一个现有的网络ID,无法更新它

    
                    
                    
                   wifiWizard2
                    
                    删除
                    
                   名称
                    
  • 名称 可以是SSID(字符串)或网络ID(整数)

  • 请注意,大多数更新版本的Android将只允许删除由您的应用程序创建的wifi

  • 抛出错误*

  • 无法删除 Android在删除网络时返回失败

  • REMOVE_NETWORK_NOT_FOUND 无法从通过的SSID确定网络ID


              
              
             wifiWizard2
              
              listNetworks
              
              

              
              
             wifiWizard2
              
              扫描
              
              
             选择权
              
              
  • 一样的要求 startScan 然后 getScanResults ,但此方法仅在扫描完成并返回结果后解析承诺。

    
                    
                    
                   wifiWizard2
                    
                    startScan
                    
                    
  • 建议只使用 扫描 方法,而不是 startScan

  • 抛出错误*

  • STARTSCAN_FAILED Android在启动扫描时返回失败


              
              
             wifiWizard2
              
              getScanResults
              
              
             选择权
              
              
  • getScanResults 应仅在调用后调用 startScan (建议使用 扫描 相反,这会启动扫描,然后返回结果)

  • [选项] 是可选的,如果不想指定,只需传递 成功 回调作为第一个参数,并且 失败 作为第二个参数的回调

  • 以对象数组的形式检索可用网络的列表,并将它们传递给listHandler函数。数组的格式为:

    
                   网络
                    
                   
                    
                   
                    
                   
                    “水平”
                    
                   signal_level
                    
                   
                    //原始RSSI值
                   
                    “名称”
                    
                   名称
                    
                   
                    //SSID为字符串,带转义双引号:“SSID名称”
                   
                    “BSSID”
                    
                   bssid
                    // WiFi路由器的MAC地址字符串
                   
                    “频率”
                    
                   频率
                    属于
                   接入点信道
                    
                   兆赫
                    “能力”
                    
                   功能
                    //描述接入点支持的身份验证、密钥管理和加密方案。
                   
                    “时间戳”
                    
                   时间戳
                    //扫描完成的时间戳
                   
                    “通道宽度”
                    
                   
                    “centerFreq0”
                    
                   
                    “centerFreq1”
                    
                   
                    
                   
                    
  • channelWidth centerFreq0 centerFreq1 仅支持API > 23 (Marshmallow),任何旧的API将为这些值返回null

    可以传递一个options对象。目前,唯一支持的选项是 numLevels ,并具有以下行为:

  • 如果 (n == true || n < 2) *.getScanResults ({numLevels: n}) 将返回数据像以前一样,分成5层;

  • 如果 (n>1) *.getScanResults ({numLevels: n}) 将计算信号电平,分成n级;

  • 如果 (n = = false) *.getScanResults ({numLevels: n}) 将使用原始信号电平;

    
                    
                    
                   wifiWizard2
                    
                    isWifiEnabled
                    
                    
  • 返回是否启用Wifi的布尔值

    
                    
                    
                   wifiWizard2
                    
                    可设置
                    
                   启用
                    
  • 通过 符合事实的 启用 用于设置启用Wifi的参数

  • 您无需调用此功能即可将启用WiFi设置为调用其他需要启用WiFi的方法。如果调用需要启用WiFi的方法,此插件将自动启用WiFi。

  • 抛出错误*

  • 错误\u设置为可连接 wifi状态与呼叫不匹配(启用或禁用)

    
                    
                    
                   wifiWizard2
                    
                    getConnectedNetworkID
                    
                    
  • 在成功回调中返回当前连接的网络ID(仅当连接时),否则将调用失败回调

  • 抛出错误*

  • 获取连接的网络ID错误 无法确定当前连接的网络ID(可能未连接)

    3.1.1新+

    
                    
                    
                   wifiWizard2
                    
                    重置Bindall
                    
                    
  • 在不断开WiFi连接的情况下禁用bindAll到WiFi网络

    
                    
                    
                   wifiWizard2
                    
                    setBindAll
                    
                    
  • 在不断开WiFi的情况下,将bindAll设置为WiFi网络

    
                    
                    
                   wifiWizard2
                    
                    canConnectToInternet
                    
                    
  • 如果设备能够连接到,返回布尔值,true或false https://www.google.com 通过HTTP连接(因为ping不可靠)

  • 未知错误仍然会像所有其他异步函数一样被抛出

  • 如果你叫 连接 使可能 并通过 符合事实的 宾德尔 ,您的应用程序将强制ping通过wifi连接。

  • 如果你没有通过 符合事实的 (或通过 )为了 宾德尔 ,并且wifi没有互联网连接,Android Lollipop+(API 21+)将使用手机连接到ping(由于wifi没有互联网时Android使用手机连接) 更多的细节


              
              
             wifiWizard2
              
              canConnectToRouter
              
              
  • 作为 canpingwifi路由器 是出了名的不可靠,这个方法使用HTTP连接来测试是否能够连接到路由器(因为大多数路由器应该在端口80上运行web服务器)

  • 未知错误仍然会像所有其他异步函数一样被抛出

  • 这对于测试非常有用,以确保你的Android应用在连接到WiFi后能够连接到专用网络

  • 这是为了测试 宾德尔 支持Android Lollipop+ (API 21+)的问题,如果WiFi没有互联网连接,不能通过WiFi路由呼叫 看到Android的博客

  • 尝试连接端口80上的路由器IP HTTP服务器(示例: http://192.168.0.1/ 哪里 192.168.0.1 为自动检测到的IP地址)

    新3.0.0 +

    
                    
                    
                   wifiWizard2
                    
                    isConnectedToInternet
                    
                    
  • 如果设备能够ping 8.8.8.8,则返回布尔值,true或false

  • 未知错误仍然会像所有其他异步函数一样被抛出

  • 如果你叫 连接 使可能 并通过 符合事实的 宾德尔 ,您的应用程序将强制ping通过wifi连接。

  • 如果你没有通过 符合事实的 (或通过 )为了 宾德尔 ,并且wifi没有互联网连接,Android Lollipop+(API 21+)将使用手机连接到ping(由于wifi没有互联网时Android使用手机连接) 更多的细节

    
                    
                    
                   wifiWizard2
                    
                    canpingwifi路由器
                    
                    
  • 如果设备能够ping连接的WiFi路由器IP(从DHCP信息获取),则返回布尔值,true或false

  • 版本3.1.1+使用HTTP连接来测试是否能够连接到路由器(因为ping之前没有工作)

  • 未知错误仍然会像所有其他异步函数一样被抛出

  • 这对于测试非常有用,以确保你的Android应用在连接到WiFi后能够连接到专用网络

  • 这是为了测试 宾德尔 支持Android Lollipop+ (API 21+)的问题,如果WiFi没有互联网连接,不能通过WiFi路由呼叫 看到Android的博客

    
                    
                    
                   wifiWizard2
                    
                    enableWifi
                    
                    
    
                    
                    
                   wifiWizard2
                    
                    禁用WiFi
                    
                    
    
                    
                    
                   wifiWizard2
                    
                    getWifiIP
                    
                    
  • 返回当前连接的WiFi的IPv4地址,如果没有找到IP或WiFi没有连接,则拒绝承诺

    
                    
                    
                   wifiWizard2
                    
                    getWifiRouterIP
                    
                    
  • 返回IPv4 WiFi路由器IP从当前连接的WiFi,或拒绝承诺,如果无法确定,或WiFi未连接

  • 抛出错误*

  • 没有识别出有效的IP 如果无法确定有效的IP(从设备返回的IP为 0.0.0.0

    
                    
                    
                   wifiWizard2
                    
                    getWifiIPInfo
                    
                    
  • 返回一个带有IPv4地址和子网的JSON对象 {"ip": "192.168.1.2", "subnet": "255.255.255.0"} 如果未找到或未连接,则拒绝承诺

  • 抛出错误*

  • 没有识别出有效的IP 如果无法确定有效的IP(从设备返回的IP为 0.0.0.0

    
                    
                    
                   wifiWizard2
                    
                    重新连接
                    
                    
  • 重新连接到当前活动的接入点, 如果我们当前断开连接。

  • 抛出错误*

  • 重新连接时出错 Android重新连接时返回错误

    
                    
                    
                   wifiWizard2
                    
                    再结合
                    
                    
  • 重新连接到当前活动的接入点, 即使我们已经连接在一起。

  • 抛出错误*

  • 错误重新关联 Android在重新关联时返回错误


              
              
             wifiWizard2
              
              getSSIDNetworkID
              
             名称
              
  • 从传递的SSID获取Android网络ID

    
                    
                    
                   wifiWizard2
                    
                    使残废
                    
                   名称
                    
  • 名称 可以是SSID(字符串)或网络ID(整数)

  • 关闭通过的SSID网络

  • 请注意,大多数最新版本的Android只允许您禁用应用程序创建的网络

  • 抛出错误*

  • UNABLE_TO_DISABLE Android在禁用网络时返回失败

  • 禁用\u网络\u未找到 无法从已传递的SSID确定网络ID以禁用


              
              
             wifiWizard2
              
              请求许可
              
              
  • 要求 访问\u FINE\u位置 permssion

  • 运行时需要这个Android权限 扫描 startStart getScanResults

  • 您可以通过手动运行此函数来请求权限,或者调用上述函数之一时,WifiWizard2将自动请求权限

  • 抛出错误*

  • PERMISSION_DENIED 用户被拒绝访问设备


              
              
             wifiWizard2
              
              使可能
              
             名称
              
             宾德尔
              
             等待连接
              
  • 名称 可以是SSID(字符串)或网络ID(整数)

  • 宾德尔 应该设置为 符合事实的 告诉Android通过wifi连接从Android应用程序路由所有连接

  • 如果没有互联网连接,Android Lollipop+ (API 21+)将不会路由连接到WiFi设备。通过 符合事实的 宾德尔 将迫使Android通过Wifi从你的Android应用程序路由连接,无论互联网连接。

  • 如果您在通过WiFi连接到本地IP时遇到问题,因为它没有internet,请尝试启用 宾德尔 这应该可以解决问题。

  • 在我的测试过程中,Android的一些版本(5.0-7.1.2)仍然会在没有互联网的情况下通过WiFi路由连接,但有些版本会和不会工作是随机的。

  • 测试Android Oreo+(8.0.0+)如果wifi没有互联网,100%的情况下它不会通过wifi路由连接,因此 必须 为Oreo或更新版本启用此选项,以便通过wifi从应用程序路由连接,而无需互联网。

  • 宾德尔 已启用, 全部的 应用程序的连接将通过WiFi路由,直到您拨打 断开 使残废

  • 有关详细信息,请参阅谷歌Android博客 更多的细节

  • 此功能 只有 适用于Android Lollipop+ (API 21+),如果设备运行的API超过21, 宾德尔 将被忽略(因为大于21的API默认会这样做)

  • 启用通过的SSID网络

  • 必须 呼叫 WifiWizard2.add (wifi) 在调用之前 使可能 因为wifi配置必须存在才能启用(或以前使用过) 连接 没有调用 断开

  • 此方法不等待或验证连接到wifi网络,通过 符合事实的 等待连接 仅在连接在完成状态下验证后将承诺返回给特定 名称

  • 抛出错误*

    无法启用 ——Android返回 -1 表示失败

    安装

    主人

    cordova插件添加https://github.com/tripflex/wifiwizard2

    从主分支(GitHub上的最新版本)安装

    要安装特定分支(添加 #标签 替换 标签 从这个回购的标签,示例: cordova插件添加https://github.com/tripflex/wifiwizard2#v3.1.1

    在此处查找可用的标记: https://github.com/tripflex/WifiWizard2/tags

如果您希望获得最新和最稳定的版本,请运行下面的“Releases”命令。

释放

cordova插件添加cordova-plugin-wifiwizard2

流星

要在Meteor项目中安装和使用这个插件,你必须从NPM库中指定准确的版本: https://www.npmjs.com/package/cordova-plugin-wifiwizard2

截至2019年4月4日,最新版本为3.1.1:

流星添加科尔多瓦:cordova-plugin-wifiwizard2@3.1.1

错误/拒绝

方法现在返回格式化字符串错误,如下所述,而不是返回一般错误消息。这允许您自己检查返回的具体错误,并自定义错误消息。在即将发布的版本中,我可能会添加一些简单的方法来覆盖通用消息,或者设置自己的消息,但是现在,返回的错误可以在每个方法/函数下面找到。

通用的 抛出的错误

WIFI_NOT_ENABLED

Baidu