zoukankan      html  css  js  c++  java
  • Android开发之WIFI网络操作

    1.WIFi网卡有五个状态,实际就是一些整形常量:

    WIFI_STATE_DISABLED:WIFI不能使用,其值是:1.

    WIFI_STATE_DISABLING:WIFI正在关闭中,由于WIFI关闭是需要一个过程,其值是:0

    WIFI_STATE_ENABLED:WIFI可以使用,其值是:3.

    WIFI_STATE_ENABLING:WIFI正在开启中, 其值是:2.

    WIFI_STATE_UNKNOWN:WIFI未知网卡状态,当手机或程序出现错误引起WIFi不可用,其值是:4.

    2.操作WIFi需要获取的权限:(主要操作权限有以下四个)

    CHANGE_NETWORK_STATE :允许修改网络状态的权限。

    CHANGE_WIFI_STATE:允许修改 WIFI状态的权限。

    ACCESS_NETWORK_STATE:允许访问网络状态的权限。

    ACCESS_WIFI_STATE:允许访问 WIFI状态的权限。

    声明操作WIFI的权限在AndroidManifest配置文件中进行。

    <!--得到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>

     

    3.WIFI状态进行操作主要涉及到三个方面:

    A:得到wifiManager对象,这个对象是操作WIFI网卡的根本,无论是改变,还是获取,都得通过这个对象。

    B:改变WIFI网卡的状态,涉及到一个wifiManager对象的setWifiEnabled(参数)方法,通过其中参数设置打开或关闭WIFIegtrue表示打开,false表示关闭。

    C:获取WIFI网卡的状态,涉及到一个wifiManager对象的getWifiState方法,通过此方法可以得到WIFI当前的状态,即前面所说的五种状态。

     

    Java示例代码:

    //得到WifiManager对象,这是操作Wifi网上的根本,无论是改变,获取其状态,都在通过此对象;

    wifiManager=(WifiManager)wifiActivity.this.getSystemService(

    Service.WIFI_SERVICE

    //,,Context.WIFI_SERVICE,,两种都可以,ServiceContext的一个子类,其中的WIFI_SERVICE是从Context中继承下来的;

    );

     

    //改变WIFI状态;

    wifiManager.setWifiEnabled(true);//true表示打开,false表示关闭;

     

    stateTextView.setText(

    wifiManager.getWifiState()//得到WIFI的当前状态;

    );

    ,,呵呵,补充一下,需要Android系统的手机进行测试......

  • 相关阅读:
    c++0.9-----c++ primer之noexcept解读
    c++0.8-----快速定位c++源码位置的小技巧
    c++0.7-----源码分析:iostate及badbit/failbit/eofbit/goodbit以及io文件的包含关系<原创>
    c++0.6-----如何在自己搭建的c++环境中使用extern变量
    c++0.5-----如何在widows下面搭建最简洁的c++环境
    c++0.4-----面向对象的三种关系(继承/复合/委托)
    c++0.3----this指针/static/namespace
    c++0.2-----基于对象的类(包含指针)
    3、静态代理模式
    2、工厂方法模式
  • 原文地址:https://www.cnblogs.com/leischen/p/2958046.html
Copyright © 2011-2022 走看看