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();
}
}
资源文件列表
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
