您的位置:首页 > 移动开发 > Android开发

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

2016-03-29 17:43 721 查看
**项目中需要在自己做的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权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: