您的位置:首页 > 移动开发 > Android开发

android:wifi通信(一)

2016-05-19 09:56 393 查看
上传了源代码,自己下载看吧:http://download.csdn.net/detail/bigtree_mfc/9528424

关于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界面进行连接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: