admin管理员组

文章数量:1619288

1.Manifest.xm配置WiFi权限

2.打开wifi

public void openWifi() {

if (!mWifiManager.isWifiEnabled()) {

mWifiManager.setWifiEnabled(true);

}

}

3.进行扫描

public boolean startScan() {

return mWifiManager.startScan();

}

4.注册监听并通过返回刷新WiFiList

IntentFilter wifiFilter = new IntentFilter();

wifiFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);

wifiFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);

wifiFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);

wifiFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);

registerWifiReceiver(wifiFilter);

public void registerWifiReceiver(IntentFilter intentFilter) {

if (null == wifiReceiver) {

wifiReceiver = new WifiReceiver();

}

mContext.registerReceiver(wifiReceiver, intentFilter);

}

5.监听网络变化

class WifiReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

Log.i(TAG, "onReceive: intent action" + intent.getAction());

if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {

//当扫描结果后,进行刷新列表

refreshLocalWifiListData();

if (null != listener) {

listener.onScanResultAvailable();

}

} else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {//wifi连接网络状态变化

refreshLocalWifiListData();

NetworkInfo.DetailedState state = ((NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO)).getDetailedState();

if (null != listener) {

listener.onNetWorkStateChanged(state, mSSID);

}

} else if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {//wifi状态变化

int wifiSt

本文标签: 实时列表wifiandroid