WIFI

1、什么是WIFI


   WIFI就是一种无线连网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;
   常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用WIFI连接方式进行连网,
   如果无线路由器连接了一条ADSL线路或者别的上网线路,则又被称为“热点”;


2、获取WIFI网卡的状态


   WIFI网卡的状态是由一系列的整型常量来表示的:
   1、WIFI_STATE_DISABLED:WIFI网卡不可用
   2、WIFI_STATE_DISABLING:WIFI正在关闭
   3、WIFI_STATE_ENABLED:WIFI网卡可用
   4、WIFI_STATE_ENABLING:WIFI网卡正在打开
   5、WIFI_STATE_UNKNOWN:未知网卡状态


3、操作WIFI所需要的权限


   关于操作权限,可以在帮助文档当中找到完整的列表(Manifest.permission),在这里我列出和网络相关的部分权限:
   CHANGE_NETWORK_STATE   // Allows applications to change network connectivity state
   CHANGE_WIFI_STATE      // Allows applications to change Wi-Fi connectivity state
   ACCESS_NETWORK_STATE   // Allows applications to access information about networks
   ACCESS_WIFI_STATE      // Allows applications to access information about Wi-Fi networks


4、改变WIFI网卡的状态


   对WIFI网卡进行操作需要通过WifiManager对象来进行,获取该对象的方法如下:
   WifiManager wifiManager = (WifiManager) Context.getSystemService(Service.WIFI_SERVICE);
   wifiManager.setWifiEnabled(true);  // 打开WIFI网卡
   wifiManager.setWifiEnabled(false); // 关闭WIFI网卡
   wifiManager.getWifiState();        // 获取网卡当前的状态


实例:wifi


   在手机上运行来做测试;装相应的驱动程序,手机的usb调试打开;
   在Eclipse的DDMS管理中可以显示输出语句;


   在AndroidManifest.xml里设置权限:
   <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
   <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />


   /**-------WifiActivity.java-------**/
   WifiManager wifiManager = null;
   // 设置WIFI打开
   StartWifiListener{
      wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
      wifiManager.setWifiEnabled(true);
      wifiManager.getWifiState();          // 得到WIFI的状态
   }
   // 设置WIFI关闭
   StopWifiListener{
      wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
      wifiManager.setWifiEnabled(false);
      wifiManager.getWifiState();          // 得到WIFI的状态
   }
   // 检验WIFI的状态
   CheckWifiListener{
      wifiManager = (WifiManager) WifiActivity.this.getSystemService(Context.WIFI_SERVICE);
      wifiManager.getWifiState();          // 得到WIFI的状态
   }

你可能感兴趣的:(WIFI)