Android WIFI基本操作

第一步:布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
    android:id="@+id/mytext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="搜索结果"
    />
   
<Button
    android:id="@+id/startwifi"
 android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="开启WIFI"/>
<Button
    android:id="@+id/stopwifi"
 android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="关闭WIFI"/>

</LinearLayout>

 

第二步:测试类

package mars.wifi;

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.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class WifiActivity extends Activity {
    private TextView disPlayText;
    private WifiManager mainWifi;
    private WifiReceiver receiverWifi;
    private Button startWiFiButton;
    private Button stopWiFiButton;
    private WifiInfo wifiInfo;
    //搜做WIFI结果
    List<ScanResult> wifiList;
    StringBuilder sb = new StringBuilder();
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         setTitle("WIFI操作介绍");
         disPlayText = (TextView) findViewById(R.id.mytext);
         startWiFiButton=(Button)findViewById(R.id.startwifi);
         stopWiFiButton=(Button)findViewById(R.id.stopwifi);
         stopWiFiButton.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    mainWifi.setWifiEnabled(false);
    //获得连接信息
    wifiInfo=mainWifi.getConnectionInfo();
    System.out.println(wifiInfo.getIpAddress());
    mainWifi.disconnect();
    
   }
  });
         startWiFiButton.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
      mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            receiverWifi = new WifiReceiver();
            registerReceiver(receiverWifi, new IntentFilter(
                               WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
            mainWifi.startScan();
    
   }
  });
      
    }
    public boolean onCreateOptionsMenu(Menu menu) {
         menu.add(0, 0, 0, "Refresh");
         return super.onCreateOptionsMenu(menu);
    }
    public boolean onMenuItemSelected(int featureId, MenuItem item) {
         mainWifi.startScan();
         disPlayText.setText("Starting Scan");
         return super.onMenuItemSelected(featureId, item);
    }
    protected void onPause() {
         unregisterReceiver(receiverWifi);
         super.onPause();
    }
    protected void onResume() {
         registerReceiver(receiverWifi, new IntentFilter(
                            WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
         super.onResume();
    }
    class WifiReceiver extends BroadcastReceiver {
         public void onReceive(Context c, Intent intent) {
                  sb = new StringBuilder();
                  wifiList = mainWifi.getScanResults();
                  for (int i = 0; i < wifiList.size(); i++) {
                            sb.append(new Integer(i + 1).toString() + ".");
                            sb.append((wifiList.get(i)).toString());
                            sb.append("\n\n");
                  }
                  disPlayText.setText(sb);
         }
    }
}

 

第三步:配置文件,添加权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="mars.wifi" android:versionCode="1" android:versionName="1.0">
 <application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".WifiActivity" android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>

 </application>
 <uses-sdk android:minSdkVersion="4" />
 <!-- 以下是使用wifi访问网络所需要的权限 -->
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" > 
</uses-permission> 
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" > 
</uses-permission> 
<uses-permission android:name="android.permission.INTERNET" > 
</uses-permission> 

</manifest>

第四步:演示

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值