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-permissionandroid:name="android.permission.CHANGE_NETWORK_STATE">
</uses-permission>
<uses-permissionandroid:name="android.permission.CHANGE_WIFI_STATE">
</uses-permission>
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE">
</uses-permission>
3. 對WIFI狀態進行操作主要涉及到三個方面:
A:得到wifiManager對象,這個對象是操作WIFI網卡的根本,無論是改變或提取,都得通過這個對象。
B:改变WIFI網卡的狀態,涉及到一個wifiManager對象的setWifiEnabled(參數)方法,通過其中参數设置打開或開閉WIFI,eg:true表示打開,false表示關閉。
C:得到WIFI網卡的狀態,涉及到一個wifiManagert 對象的getWifiState方法,通過此方法可以得到WIFI目前的状態,即前面所说的五種狀態。
//得到WifiManager對象,這是操作Wifi網上的根本
wifiManager=(WifiManager)wifiActivity.this.getSystemService(
Service.WIFI_SERVICE
//,,Context.WIFI_SERVICE,,兩種都可以,Service是Context的一個子類,其中的WIFI_SERVICE是從Context中繼承下来的;
);
//改變WIFI狀態;
wifiManager.setWifiEnabled(true);//true表示打開,false表示關閉;
stateTextView.setText(
wifiManager.getWifiState() //得到WIFI的目前状態;
);
留言列表