Android 实现WiFi列表显示与连接

本文介绍了如何在Android中实现WiFi列表的显示和连接功能。通过设置界面元素,监听按钮事件,获取WiFi列表并进行连接操作。文章还涉及到使用`WifiAdmin`工具类进行WiFi管理,包括扫描、连接和配置网络。
摘要由CSDN通过智能技术生成

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.activity_wifi_list);

wiFiAdmin = new WifiAdmin(WifiListActivity.this);

initLayout();

getAllNetWorkList();

}

public void initLayout() {

listWifi = (ListView) findViewById(R.id.listWiFi);

RelativeLayout btnToSettingFromWiFi = (RelativeLayout) findViewById(R.id.btnToSettingFromWiFi);

btnToSettingFromWiFi.setOnClickListener(new MyOnClickListener());

// 刷新按钮和进度条

updateProgress = (ProgressBar) findViewById(R.id.updateProgress);

updateProgress.setVisibility(View.INVISIBLE);

updateButton = (Button) findViewById(R.id.updateButton);

updateButton.setVisibility(View.VISIBLE);

updateButton.setOnClickListener(new MyOnClickListener());

SwitchButton switchWifi = (SwitchButton) findViewById(R.id.switchWifi);

wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

switchWifi.setChecked(wifiManager.isWifiEnabled());

switchWifi.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton buttonView,

boolean isChecked) {

wifiManager.setWifiEnabled(isChecked);

// 更新WiFi列表

if (isChecked) {

listWifi.setVisibility(View.VISIBLE);

updateProgress.setVisibility(View.VISIBLE);

updateButton.setVisibility(View.INVISIBLE);

new Thread(new refreshWifiThread()).start();

} else {

listWifi.setVisibility(View.GONE);

}

}

});

}

final Handler refreshWifiHandler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

switch (msg.what) {

case 1:

getAllNetWorkList();

updateProgress.setVisibility(View.INVISIBLE);

updateButton.setVisibility(View.VISIBLE);

break;

default:

break;

}

}

};

public class refreshWifiThread implements Runnable {

@Override

public void run() {

try {

Thread.sleep(3000);

Message message = new Message();

message.what = 1;

refreshWifiHandler.sendMessage(message);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

private class MyOnClickListener implements OnClickListener {

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.btnToSettingFromWiFi:

finish();

break;

case R.id.updateButton:

updateButton.setVisibility(View.INVISIBLE);

updateProgress.setVisibility(View.VISIBLE);

new Thread(new refreshWifiThread()).start();

break;

default:</

  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值