转:android开发之wifi网络操作初步

一,先了解wifi是什么

Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。比较常见的就是一个无线路由器,在它发出的无线电波有效范围内都可以通过wifi方式连接到网络,如果无线路由器连接了一条ADSL线路或者其他的上网线路,则又被称为“热点”。

二,获取wifi网卡状态

wifi的状态就是定义的一系列整型常量,如下:

转:android开发之wifi网络操作初步_第1张图片

[java]  view plain copy
  1. wifimanager = (WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);  
  2.                 wifimanager.getWifiState();  

三,操作wifi的权限

转:android开发之wifi网络操作初步_第2张图片

四,更改wifi状态

对wifi网卡进行操作时要用到WifiManager来进行,怎么去获取这个对象呢?

[html]  view plain copy
  1. wifimanager = (WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);  

如何打开wifi网卡呢?

[html]  view plain copy
  1. wifimanager.setWifiEnabled(true);  

如何获取网卡当前状态?

[java]  view plain copy
  1. wifimanager.getWifiState()  

如何关闭wifi网卡呢?

[java]  view plain copy
  1. wifimanager.setWifiEnabled(false);  

五,实例演示,必须在真机上测试才行,模拟器不行。

[java]  view plain copy
  1. import android.app.Activity;  
  2. import android.content.Context;  
  3. import android.net.wifi.WifiManager;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.View.OnClickListener;  
  7. import android.widget.Button;  
  8. import android.widget.Toast;  
  9.   
  10. public class TextWifi extends Activity {  
  11.     private Button openWifi = null;  
  12.     private Button getWifiState = null;  
  13.     private Button closeWifi = null;  
  14.     private WifiManager wifimanager = null;  
  15.     @Override  
  16.     public void onCreate(Bundle savedInstanceState) {  
  17.         super.onCreate(savedInstanceState);  
  18.         setContentView(R.layout.main);  
  19.         openWifi = (Button)findViewById(R.id.openWifi);  
  20.         openWifi.setOnClickListener(new OnClickListener() {  
  21.               
  22.             @Override  
  23.             public void onClick(View v) {  
  24.                 wifimanager = (WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);  
  25.                 wifimanager.setWifiEnabled(true);  
  26.                 Toast.makeText(TextWifi.this"Wifi已开启", Toast.LENGTH_SHORT).show();  
  27.             }  
  28.         });  
  29.         getWifiState = (Button)findViewById(R.id.getWifiState);  
  30.         getWifiState.setOnClickListener(new OnClickListener() {  
  31.               
  32.             @Override  
  33.             public void onClick(View v) {  
  34.                 wifimanager = (WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);  
  35.                 Toast.makeText(TextWifi.this"Wifi状态"+wifimanager.getWifiState(), Toast.LENGTH_SHORT).show();  
  36.             }  
  37.         });  
  38.         closeWifi = (Button)findViewById(R.id.closeWifi);  
  39.         closeWifi.setOnClickListener(new OnClickListener() {  
  40.               
  41.             @Override  
  42.             public void onClick(View v) {  
  43.                 wifimanager = (WifiManager)TextWifi.this.getSystemService(Context.WIFI_SERVICE);  
  44.                 wifimanager.setWifiEnabled(false);  
  45.                 Toast.makeText(TextWifi.this"Wifi已关闭", Toast.LENGTH_SHORT).show();  
  46.             }  
  47.         });  
  48.     }  
  49. }  
[html]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.       package="android.apps"  
  4.       android:versionCode="1"  
  5.       android:versionName="1.0">  
  6.   
  7.   
  8.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  9.         <activity android:name=".TextWifi"  
  10.                   android:label="@string/app_name">  
  11.             <intent-filter>  
  12.                 <action android:name="android.intent.action.MAIN" />  
  13.                 <category android:name="android.intent.category.LAUNCHER" />  
  14.             </intent-filter>  
  15.         </activity>  
  16.   
  17.     </application>  
  18.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>  
  19.     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  
  20.     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>  
  21.     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  
  22. </manifest>  

你可能感兴趣的:(android,wifi)