Android 获取WIF热点是否可用及热点连接数量

**项目中需要在自己做的Launhcer程序的顶部状态栏显示WIFI热点是否开启及WIFI热点连接设备数量,网上搜了很多依然解决不了问题,研究了下系统源码,能获取WIFI热点连接设备的信息,连接断开时也可以刷新WIFI热点连接数量。**
//获取wifi管理类
WifiManager mWifiManager;
mWifiManager = (WifiManager) this.getApplication().getSystemService(
				Context.WIFI_SERVICE);

WIFI热点是否可用

//返回WIFI热点是否可用
public boolean isApEnabled(Context mContext) {    
       int state = getWifiApState(mContext);    
       return WIFI_AP_STATE_ENABLING == state || WIFI_AP_STATE_ENABLED == state;    
   }

public int getWifiApState(Context mContext) {    
    WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);   
       try {    
           Method method = wifiManager.getClass().getMethod("getWifiApState");    
           int i = (Integer) method.invoke(wifiManager);    
           return i;    
       } catch (Exception e) {    
           return WIFI_AP_STATE_FAILED;    
       }    
   } 

获取WIFI热点连接设备数量

1,实现wifi热点连接及断开广播监听;
2,获取wifi热点连接设备的数量;

广播:

WifiManager.WIFI_HOTSPOT_CLIENTS_CHANGED_ACTION

获取数量:

	if (mWifiManager != null) {
			List<
			> hotspotNum = mWifiManager.getHotspotClients();
			if (hotspotNum != null) {
				if (hotspotNum.size() >= 0) {
					//刷新顶部导航界面wifi热点连接个数
				}
			}
		}

WIFI权限

  

很多朋友说没有getHotspotClients()方法,我附上jar包
链接:https://pan.baidu.com/s/1PzfrU1hNTaOotWdfmWWkjA
提取码:aisx

你可能感兴趣的:(android移动开发)