首页

Android 开启、关闭WIFI 示例源码下载(获取wifi信息)

java

2020-8-21

package com.example.xu;

import java.util.List;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
	protected static final String TAG = "MainActivity";
	private WifiManager mWifiManager;
	private Button mbtn, openWifi, closeWifi;
	private List<ScanResult> mScanResults;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		registerBroadcast();
		mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
		mbtn = (Button) findViewById(R.id.button1);
		openWifi = (Button) findViewById(R.id.open_wifi);
		closeWifi = (Button) findViewById(R.id.close_wifi);
		mbtn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {

			}
		});

		openWifi.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				mWifiManager.setWifiEnabled(true);
				Log.d(TAG, "开启"   DateUtils.getCurrentDateString());
				mWifiManager.startScan();
			}
		});

		closeWifi.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				mWifiManager.setWifiEnabled(false);
				Log.d(TAG, "关闭"   DateUtils.getCurrentDateString());
			}
		});
	}

	private void registerBroadcast() {
		IntentFilter filter = new IntentFilter();
		filter.setPriority(2147483647);
		filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
		filter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
		filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
		filter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
		filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
		registerReceiver(mReceiver, filter);
	}

	/**
	 * 广播接收,监听网络
	 */
	private BroadcastReceiver mReceiver = new BroadcastReceiver() {

		@Override
		public void onReceive(Context context, Intent intent) {
			final String action = intent.getAction();
			// 该扫描已成功完成。
			if (action.equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
				Log.d(TAG, "接收到"  DateUtils.getCurrentDateString());
				mScanResults = mWifiManager.getScanResults();
				Log.d(TAG, "mScanResults.size()==="   mScanResults.size());

			} else if (intent.getAction().equals(
					WifiManager.WIFI_STATE_CHANGED_ACTION)) {
				int wifiState = intent.getIntExtra(
						WifiManager.EXTRA_WIFI_STATE, 0);
				switch (wifiState) {
				case WifiManager.WIFI_STATE_ENABLED:
					Log.d(TAG, "Wi-Fi已启用。"   DateUtils.getCurrentTime());
					mWifiManager.startScan();
//					refreshWifiStatusOnTime();
					break;
				case WifiManager.WIFI_STATE_DISABLED:
					Log.d(TAG, "Wifi已关闭"   DateUtils.getCurrentTime());
					break;
				}
			}
		}
	};
	
	protected boolean isUpdate = true;
	/**
	 * 定时刷新Wifi列表信息
	 * @author Xiho
	 */
	private void refreshWifiStatusOnTime() {
		mWifiManager.startScan();
		new Thread() {
			public void run() {
				while (isUpdate) {
					mScanResults = mWifiManager.getScanResults();
					Log.d(TAG, "循环 mResults.size=" mScanResults.size());
					if( mScanResults!=null&&mScanResults.size()>0 ){ 
						isUpdate = false;
						Log.d(TAG, "循环size>0,mResults.size=" mScanResults.size());
					}
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}.start();
	}

}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
TestWifiDemo/.classpath , 475
TestWifiDemo/.project , 848
TestWifiDemo/.settings/org.eclipse.jdt.core.prefs , 177
TestWifiDemo/AndroidManifest.xml , 1564
TestWifiDemo/bin/AndroidManifest.xml , 1564
TestWifiDemo/bin/classes/com/example/xu/BuildConfig.class , 337
TestWifiDemo/bin/classes/com/example/xu/DateUtils.class , 7473
TestWifiDemo/bin/classes/com/example/xu/MainActivity$1.class , 2222
TestWifiDemo/bin/classes/com/example/xu/MainActivity$2.class , 749
TestWifiDemo/bin/classes/com/example/xu/MainActivity$3.class , 1334
TestWifiDemo/bin/classes/com/example/xu/MainActivity$4.class , 1291
TestWifiDemo/bin/classes/com/example/xu/MainActivity$5.class , 1646
TestWifiDemo/bin/classes/com/example/xu/MainActivity.class , 2989
TestWifiDemo/bin/classes/com/example/xu/R$attr.class , 328
TestWifiDemo/bin/classes/com/example/xu/R$dimen.class , 449
TestWifiDemo/bin/classes/com/example/xu/R$drawable.class , 395
TestWifiDemo/bin/classes/com/example/xu/R$id.class , 512
TestWifiDemo/bin/classes/com/example/xu/R$layout.class , 391
TestWifiDemo/bin/classes/com/example/xu/R$menu.class , 376
TestWifiDemo/bin/classes/com/example/xu/R$string.class , 460
TestWifiDemo/bin/classes/com/example/xu/R$style.class , 419
TestWifiDemo/bin/classes/com/example/xu/R.class , 633
TestWifiDemo/bin/classes.dex , 1042412
TestWifiDemo/bin/dexedLibs/android-support-v4-199943700bf080c8479951cbcd8dba67.jar , 347548
TestWifiDemo/bin/jarlist.cache , 120
TestWifiDemo/bin/res/crunch/drawable-hdpi/ic_launcher.png , 5964
TestWifiDemo/bin/res/crunch/drawable-mdpi/ic_launcher.png , 3112
TestWifiDemo/bin/res/crunch/drawable-xhdpi/ic_launcher.png , 9355
TestWifiDemo/bin/res/crunch/drawable-xxhdpi/ic_launcher.png , 17889
TestWifiDemo/bin/resources.ap_ , 41850
TestWifiDemo/bin/Xu.apk , 394350
TestWifiDemo/gen/com/example/xu/BuildConfig.java , 156
TestWifiDemo/gen/com/example/xu/R.java , 2814
TestWifiDemo/ic_launcher-web.png , 51394
TestWifiDemo/libs/android-support-v4.jar , 995624
TestWifiDemo/proguard-project.txt , 781
TestWifiDemo/project.properties , 563
TestWifiDemo/res/drawable-hdpi/ic_launcher.png , 7658
TestWifiDemo/res/drawable-mdpi/ic_launcher.png , 3777
TestWifiDemo/res/drawable-xhdpi/ic_launcher.png , 12516
TestWifiDemo/res/drawable-xxhdpi/ic_launcher.png , 24777
TestWifiDemo/res/layout/activity_main.xml , 1628
TestWifiDemo/res/menu/main.xml , 364
TestWifiDemo/res/values/dimens.xml , 220
TestWifiDemo/res/values/strings.xml , 219
TestWifiDemo/res/values/styles.xml , 697
TestWifiDemo/res/values-v11/styles.xml , 334
TestWifiDemo/res/values-v14/styles.xml , 391
TestWifiDemo/res/values-w820dp/dimens.xml , 381
TestWifiDemo/src/com/example/xu/DateUtils.java , 10100
TestWifiDemo/src/com/example/xu/MainActivity.java , 3866
没有账号? 忘记密码?

社交账号快速登录