关于wifi操作:
1、打开wifi
2、关闭wifi
3、获取wifi网卡状态
activity_main.xml中添加三个按钮
public class MainActivity extends ActionBarActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
WifiManager wifimanager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
Button bt1 = (Button)this.findViewById(R.id.Button1);
Button bt2 = (Button)this.findViewById(R.id.Button2);
Button bt3 = (Button)this.findViewById(R.id.Button3);
bt1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
wifimanager.setWifiEnabled(true); //打开wifi网卡
}
});
bt2.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
wifimanager.setWifiEnabled(false); //关闭wifi网卡
}
});
bt3.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
switch(wifimanager.getWifiState())
{
case 0://WIFI正在关闭
toast("WIFI正在关闭");
break;
case 1://WIFI网卡不可用
toast("WIFI网卡不可用");
break;
case 2://WIFI网卡正在打开
toast("WIFI网卡正在打开");
break;
case 3://WIFI网卡可用
toast("WIFI网卡可用 ");
break;
case 4:
toast("未知网卡状态");
break;
}
}
});
public void toast(String str)
{
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
}
}
4、扫描周围wifi热点
XML中添加一个TextView,用来显示扫描到的热点,用tv表示
private List<ScanResult> list;
private ScanResult mScanResult;
private StringBuffer sb = new StringBuffer();
按钮事件中:
if(sb != null)//数据清零
{
sb = new StringBuffer();
}
wifimanager.startScan();//开始扫描
list = wifimanager.getScanResults();//得到扫描结果
if(list != null)
{
for(int i = 0; i < list.size(); i++)
{
//得到扫描结果
mScanResult = list.get(i);
sb = sb.append(mScanResult.SSID+"\n") ;//名称
}
tv.setText("扫描到的wifi网络:\n"+sb.toString());
}
5、连接wifi
主要还是通过打开系统wifi界面进行连接
|