类 IWifiManager

java.lang.Object
com.hyperlcd.Wifi.IWifiManager

public class IWifiManager
extends java.lang.Object

HyperlcdLib WIFI控制器类


使用该类中的接口方法必须先调用 getInstance(Context, WifiManagerListener) (String)} 获取实例。

只使用AP热点功能可以获取无回调监听的单例 getInstance(Context) 获取实例。

结束使用调用 destroyInstance() 销毁单例。

接口功能:
  1. openWifi() 打开Wifi
  2. closeWifi() 关闭Wifi
  3. connectWifi(String, String, int) 连接WIFI
  4. connectWifiNoPwd(String) 连接无密码WIFI
  5. connectAdvancedWifi(String, String, String, String, String, String, String, int) 连接高级WIFI自定义IP地址等
  6. connectSavedWifi(WifiConfiguration) 连接已保存的wifi
  7. removeWifiBySsid(String) 根据WIFI名称忘记WIFI
  8. setDhcpWifi() 设置已连接的WIFI为DHCP
  9. setStaticWifi(String, String, String, String, String) 设置已连接的WIFI为static
  10. getWifiList() 获取wifi列表
  11. getBSSID() 获取BSSID
  12. getConfiguredNetworks() 获取WIFI配置列表
  13. getIPAddress() 获取IP地址
  14. getMacAddress() 获取MAC地址
  15. getNetMask() 获取子网掩码
  16. getDhcpInfo() 获取DHCP相关信息
  17. getWifiCipher(String) 根据ScanResult.capabilities获取到加密类型
  18. isExist(String) 根据WIFI名称获取WIFI是否连接过
  19. CreateWifiLock() 创建WIFI锁用于下载大文件时使用
  20. AcquireWifiLock() WIFI锁锁定
  21. ReleaseWifiLock() 释放WIFI锁
  • 字段详细资料

  • 构造器详细资料

    • IWifiManager

      public IWifiManager​(android.content.Context context)
      wifi控制构造方法,不需要回调监听
    • IWifiManager

      public IWifiManager​(android.content.Context context, IWifiManager.WifiManagerListener WifiManagerListener)
      wifi控制构造方法,需要回调监听
  • 方法详细资料

    • getInstance

      public static IWifiManager getInstance​(android.content.Context context, IWifiManager.WifiManagerListener WifiManagerListener)
      获取wifi控制单例有回调监听
      参数:
      context - 上下文对象
      WifiManagerListener - 用于接收wifi列表与wifi连接状态
      返回:
      WifiControl单例
    • getInstance

      public static IWifiManager getInstance​(android.content.Context context)
      获取wifi控制单例无回调监听
      参数:
      context - 上下文对象
      返回:
      WifiControl单例
    • destroyInstance

      public static void destroyInstance()
      销毁wifi控制单例
    • unregisterReceiver

      public static void unregisterReceiver()
      反注册广播取消WIFI监听
    • isWifiEnabled

      public boolean isWifiEnabled()
      查询wifi是否打开
      返回:
    • startScan

      public boolean startScan()
      开始搜索wifi
      返回:
    • getWifiList

      public static java.util.List<android.net.wifi.ScanResult> getWifiList()
      得到网络列表
      返回:
      List
    • getWifiState

      public int getWifiState()
    • isEnabled

      public boolean isEnabled()
      获取wifi是否打开
      返回:
      true为打开状态 false为关闭状态
    • openWifi

      public boolean openWifi()
      打开Wifi
      返回:
      执行状态 true成功 false失败
    • closeWifi

      public boolean closeWifi()
      关闭Wifi
      返回:
      执行状态 true成功 false失败
    • connectSavedWifi

      public void connectSavedWifi​(android.net.wifi.WifiConfiguration config)
      连接已经保存的Wifi
      参数:
      config - WifiConfiguration
    • connectWifi

      public boolean connectWifi​(java.lang.String ssid, java.lang.String password, int cipher)
      密码连接Wifi
      参数:
      ssid - wifi名称
      password - wifi密码
      cipher - wifi加密类型
    • connectAdvancedWifi

      public void connectAdvancedWifi​(java.lang.String ssid, java.lang.String password, java.lang.String ip, java.lang.String gateway, java.lang.String netmask, java.lang.String dns1, java.lang.String dns2, int cipher)
      通过密码、ip地址、网关、dns配置连接Wifi
      参数:
      ssid - wifi名称
      password - wifi密码
      ip - 设备ip地址
      gateway - 网关
      netmask - 子网掩码
      dns1 - DNS1
      dns2 - DNS2
      cipher - wifi加密类型
    • setStaticWifi

      public boolean setStaticWifi​(java.lang.String ip, java.lang.String gateway, java.lang.String netmask, java.lang.String dns1, java.lang.String dns2)
      已连接wifi通过ip地址、网关、dns配置STATIC Wifi
      参数:
      ip - 设备ip地址
      gateway - 网关
      netmask - 子网掩码
      dns1 - DNS1
      dns2 - DNS2
      返回:
      是否设置成功
    • setDhcpWifi

      public boolean setDhcpWifi() throws java.lang.Exception
      已连接wifi 配置DHCP Wifi
      返回:
      是否设置成功
      抛出:
      java.lang.Exception
    • connectWifiNoPwd

      public boolean connectWifiNoPwd​(java.lang.String ssid)
      无密码连接
      参数:
      ssid - wifi名称
    • getWifiCipher

      public int getWifiCipher​(java.lang.String capabilities)
      获取WIFI加密类型
      参数:
      capabilities - ScanResult.capabilities
      返回:
      int wifi的加密类型
    • isExist

      public android.net.wifi.WifiConfiguration isExist​(java.lang.String ssid)
      得到配置好的网络连接
      参数:
      ssid -
      返回:
    • createWifiAP

      public void createWifiAP​(java.lang.String ssid, java.lang.String password, int type)
      根据wifi信息创建或关闭一个热点
      参数:
      ssid - 热点名称
      password - 热点密码
      type - 加密类型
    • closeWifiAP

      public void closeWifiAP()
      关闭WIFI热点
    • isWifiApOpen

      public boolean isWifiApOpen()
      获取热点是否开启
    • AcquireWifiLock

      public void AcquireWifiLock()
      锁定WifiLock,当下载大文件时需要锁定
    • CreateWifiLock

      public void CreateWifiLock()
      创建一个WifiLock
    • ReleaseWifiLock

      public void ReleaseWifiLock()
      解锁WifiLock
    • removeWifiBySsid

      public void removeWifiBySsid​(java.lang.String targetSsid)
      忘记某一个wifi密码
      参数:
      targetSsid - 需要移除的wifi的名称
    • getBSSID

      public java.lang.String getBSSID()
      获取wifi名
    • getConfiguredNetworks

      public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks()
      得到配置好的网络列表
    • getIPAddress

      public int getIPAddress()
      获取ip地址
    • getDhcpInfo

      public android.net.DhcpInfo getDhcpInfo()
      获取Dhcpinfo
    • getMacAddress

      public java.lang.String getMacAddress()
      获取物理地址(Mac)
    • getNetMask

      public static java.lang.String getNetMask()
      解决Dhcpinfo获取netMask 为空或者为255.0.0.0
      返回:
      子网掩码