android:WIFI网络操作

一、 WIFI 网卡有哪些状态?

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

2.  WIFI_STATE_DISABLING : WIFI 正在关闭中,由于 WIFI 关闭是需要这一个过程,这个状态就表示 WIFI 正在关闭的过程中,其值是: 0 。

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

4.  WIFI_STATE_ENABLING : WIFI 正在开启中,其道理同 WIFI_STATE_DISABLING,其值是: 2 。

5.  WIFI_STATE_UNKNOWN :未知网卡状态,当手机或程序出现了一些错误引起 WIFI 不可用时会是这个状态,其值是: 4 。

二、   操作 WIFI 需要获取的权限

要获取操作 WIFI 的权限,就必须知道 WIFI 到底有哪些权限, WIFI 的主要操作权限有四个:

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

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

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

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

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  
      package="com.sam.wifiTest"  
      android:versionCode="1"  
      android:versionName="1.0">  
    <application android:icon="@drawable/icon" android:label="@string/app_name">  
        <activity android:name=".firstWifi"  
                  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>  
</manifest> 

三、 改变 WIFI 的状态

	//为按钮绑定监听器  
	btnBegin.setOnClickListener( new btnBenginListener());  
	class btnBenginListener implements OnClickListener{  
	        public void onClick(View v) {  
	            // TODO Auto-generated method stub  
	            texWifi.setText("点了开始按钮");  
	            m_wifiManager=(WifiManager)firstWifi.this.getSystemService(Context.WIFI_SERVICE);  
	            m_wifiManager.setWifiEnabled(true);  
	            //显示状态  
	            displayWifiState(m_wifiManager.getWifiState()) ;  
	        }  
	    }


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

1. 得到 WifiManager 对象,这个对象是我们操作 WIFI 网卡的根本,无论是改变WIFI 的状态,还是获取 WIFI 的状态,都要通过这个对象。

 

m_wifiManager=(WifiManager)firstWifi.this.getSystemService(Context.WIFI_SERVICE);

2.  改变 WIFI 网卡状态,涉及到一个 WifiManager 的方法 SetWifiEnabled,通过这个方法的参数设置,可以实现打开或关闭 WIFI : true 表示打开,false 表示关闭。

 m_wifiManager.setWifiEnabled(true);

3. 获取 WIFI 网卡的状态,涉及到一个 WifiManager 的方法 getWifiState ,通过这个方法,就可以取得 WIFI 的当前状态,即第一点中所讲的 WIFI 五个状态中的一个。

isplayWifiState(m_wifiManager.getWifiState()) ;  


Service.WIFI_SERVICE ,由于 Service 也是 Context 的一个子类,Service  WIFI_SERVICE 实际是从 Context 那里继承下来的,所以写成Context.WIFI_SERVICE 也是没有问题的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT人.阿标

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值