Android管理Wifi

来源:互联网 发布:java asm 官网 编辑:程序博客网 时间:2024/06/03 23:21

首先,需要权限

[html] view plaincopyprint?
  1. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>  
  2.  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  3.  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>  
  4.  <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>  


WIF的状态在WifiManager中定义了常量,都是public static final int类型的,如下

[java] view plaincopyprint?
  1. public static final int WIFI_STATE_DISABLED  
  2. Wi-Fi is disabled.  
  3. Constant Value: 1 (0x00000001)  
  4.   
  5.   
  6. public static final int WIFI_STATE_DISABLING  
  7. Wi-Fi is currently being disabled. The state will change to WIFI_STATE_DISABLED if it finishes successfully.  
  8. Constant Value: 0 (0x00000000)  
  9.   
  10.   
  11. public static final int WIFI_STATE_ENABLED  
  12. Wi-Fi is enabled.  
  13. Constant Value: 3 (0x00000003)  
  14.   
  15.   
  16.   
  17.   
  18. public static final int WIFI_STATE_ENABLING  
  19. Wi-Fi is currently being enabled. The state will change to WIFI_STATE_ENABLED if it finishes successfully.  
  20. Constant Value: 2 (0x00000002)  
  21.   
  22.   
  23.   
  24. public static final int WIFI_STATE_UNKNOWN  
  25. Wi-Fi is in an unknown state. This state will occur when an error happens while enabling or disabling.  
  26. Constant Value: 4 (0x00000004)  


定义一个并且初始化WifiManager manager==(WifiManager) Context.getSystemService(Context.WIFI_SERVICE);

启动WIFI manager.setWifiEnabled(true);

关闭WIFI manager.setWifiEnabled(false);

获取WIFI状态 manager.getWifiState();返回前面说的五种状态的一种

下面是全部代码

[java] view plaincopyprint?
  1. package com.zhycheng.wifi;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Context;  
  5. import android.net.wifi.WifiManager;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10. import android.widget.Toast;  
  11.   
  12. public class WIFIDemoActivity extends Activity implements OnClickListener {  
  13.     Button start,stop,state;  
  14.     WifiManager manager;  
  15.       
  16.       
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         start=(Button) findViewById(R.id.startWIFI);  
  21.         stop=(Button) findViewById(R.id.stopWIFI);  
  22.         state=(Button) findViewById(R.id.getSTATE);  
  23.         start.setOnClickListener(this);  
  24.         stop.setOnClickListener(this);  
  25.         state.setOnClickListener(this);  
  26.     }  
  27.   
  28.   
  29.   
  30.     @Override  
  31.     public void onClick(View v) {  
  32.         manager=(WifiManager) this.getSystemService(Context.WIFI_SERVICE);  
  33.           
  34.         switch(v.getId())  
  35.         {  
  36.         case R.id.startWIFI:  
  37.             manager.setWifiEnabled(true);  
  38.             System.out.println("当前WIFI状态为"+manager.getWifiState());  
  39.             Toast.makeText(this"当前WIFI状态为"+manager.getWifiState(), Toast.LENGTH_SHORT).show();  
  40.               
  41.             break;  
  42.         case R.id.stopWIFI:  
  43.             manager.setWifiEnabled(false);  
  44.             System.out.println("当前WIFI状态为"+manager.getWifiState());  
  45.             Toast.makeText(this"当前WIFI状态为"+manager.getWifiState(), Toast.LENGTH_SHORT).show();  
  46.               
  47.             break;  
  48.         case R.id.getSTATE:  
  49.               
  50.             System.out.println("当前WIFI状态为"+manager.getWifiState());  
  51.             Toast.makeText(this"当前WIFI状态为"+manager.getWifiState(), Toast.LENGTH_SHORT).show();  
  52.             break;  
  53.         }  
  54.           
  55.     }  
  56. }  
原创粉丝点击