WIFI Demo

package com.example.testwififun;

import java.util.List;

import android.app.Activity;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class WifiActivity extends Activity {
 
 //变量定义
  private TextView allNetWork;   
     private Button scan;   
  private Button start;   
     private Button stop;   
  private Button check;  
  private WifiManager mWifiManager; 
 
  //扫描结果列表
  private List<ScanResult> list;
  private ScanResult mScanResult;
  private StringBuffer sb = new StringBuffer();

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_wifi);
  
  //添加事件响应
  scan=(Button)findViewById(R.id.scan);
  start=(Button)findViewById(R.id.start);
  stop=(Button)findViewById(R.id.stop);
  check=(Button)findViewById(R.id.check);
  allNetWork=(TextView)findViewById(R.id.allNetWork);
  mWifiManager=(WifiManager)WifiActivity.this.getSystemService(WIFI_SERVICE);
  
  scan.setOnClickListener(new MyListener());
  start.setOnClickListener(new MyListener());
  stop.setOnClickListener(new MyListener());
  check.setOnClickListener(new MyListener());
 }

 public class MyListener implements OnClickListener{

  @Override
  public void onClick(View v) {
   // TODO Auto-generated method stub
   switch(v.getId())
   {
   case R.id.scan: //扫描网络
    getAllNetworkList();
    break;
    
   case R.id.start: //打开网络
    if(!mWifiManager.isWifiEnabled())
    {
     mWifiManager.setWifiEnabled(true);
     Toast.makeText(WifiActivity.this,"======  WIFI已打开  ======", 1).show();
     //allNetWork.setText("");
     //getAllNetworkList();
    }
    else
    {
     Toast.makeText(WifiActivity.this,"======  WIFI已打开  ======", 1).show();
     //getAllNetworkList();
    }
    break;
    
   case R.id.stop: //关闭网络
     mWifiManager.setWifiEnabled(false);
    // if(mWifiManager.getWifiState()==1)
     Toast.makeText(WifiActivity.this,"======  WIFI已关闭  ======", 1).show(); 
     allNetWork.setText("");
    break;
    
   case R.id.check: //检查网络
    Toast.makeText(WifiActivity.this, "当前WIFI状态为:"+mWifiManager.getWifiState(), 1).show(); 
   default:
     break;
   }
  }
  
 }
 
 public void getAllNetworkList()
 {
  //每次扫描前都清空上一次的扫描结果
  if(!mWifiManager.isWifiEnabled())
  {
   Toast.makeText(WifiActivity.this,"======  WIFI未打开,请打开WIFI  ======", 1).show(); 
  }
  if(sb!=null)
   sb = new StringBuffer();
  //allNetWork.setText("");
  
  //开始扫描网络
  mWifiManager.startScan();
  //得到扫描结果
  list = mWifiManager.getScanResults();
  //得到扫描结果
  if(list!=null)
  {
   for(int i=0;i<list.size();i++)
   {
    //得到扫描结果
    mScanResult = list.get(i);
    sb=sb.append("【"+(i+1)+"】"+"  ").append(mScanResult.SSID+"  ").append(mScanResult.capabilities+"  ").append(mScanResult.frequency+"  ").append(mScanResult.level+"\n\n");
   }
   allNetWork.setText("扫描到的WIFI网络:\n"+sb.toString());
  }
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.wifi, menu);
  return true;
 }

}

 

========================================================================

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" 
      android:layout_height="fill_parent"
  >

    <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
   
<Button   
    android:id="@+id/scan"   
    android:layout_width="fill_parent"    
    android:layout_height="wrap_content"    
    android:text="扫描网络"   
   /> 
 
<Button   
    android:id="@+id/start"   
    android:layout_width="fill_parent"    
    android:layout_height="wrap_content"    
    android:text="打开WIFI"   
   />   

<Button   
    android:id="@+id/stop"   
    android:layout_width="fill_parent"   
   android:layout_height="wrap_content"    
    android:text="关闭WIFI"   
    />   

<Button   
    android:id="@+id/check"   
    android:layout_width="fill_parent"    
    android:layout_height="wrap_content"    
    android:text="WIFI状态"   
    />   

 <TextView   
    android:id="@+id/allNetWork"   
    android:layout_width="fill_parent"   
    android:layout_height="wrap_content"    
    android:text="当前没有扫描到WIFI网络"   
   />  
</LinearLayout>
</ScrollView>

========================================================================

    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值