android_wifi

wifi權限

<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"/>

wifi處理類
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
public class WifiUtil {  
    //定義一個WifiManager對象  
    private WifiManager mWifiManager;  
    //定義一個WifiInfo對象  
    private WifiInfo mWifiInfo;  
    //掃描出的網絡連接列表  
    private List<ScanResult> mWifiList;  
    //網絡連接列表  
    private List<WifiConfiguration> mWifiConfigurations;  
    WifiLock mWifiLock;  
    public WifiAdmin(Context context){  
        //取得WifiManager對象  
        mWifiManager=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);  
        //取得WifiInfo對象  
        mWifiInfo=mWifiManager.getConnectionInfo();  
    }  
    //打開wifi  
    public void openWifi(){  
        if(!mWifiManager.isWifiEnabled()){  
            mWifiManager.setWifiEnabled(true);  
        }  
    }  
    //關閉wifi  
    public void closeWifi(){  
        if(!mWifiManager.isWifiEnabled()){  
            mWifiManager.setWifiEnabled(false);  
        }  
    }  
     // 檢查當前wifi狀態    
    public int checkState() {    
        return mWifiManager.getWifiState();    
    }    
    //鎖定wifiLock  
    public void acquireWifiLock(){  
        mWifiLock.acquire();  
    }  
    //解鎖wifiLock  
    public void releaseWifiLock(){  
        //判斷是否鎖定  
        if(mWifiLock.isHeld()){  
            mWifiLock.acquire();  
        }  
    }  
    //創建一個wifiLock  
    public void createWifiLock(){  
        mWifiLock=mWifiManager.createWifiLock("test");  
    }  
    //得到配置好的網絡  
    public List<WifiConfiguration> getConfiguration(){  
        return mWifiConfigurations;  
    }  
    //指定配置好的網絡進行連接  
    public void connetionConfiguration(int index){  
        if(index>mWifiConfigurations.size()){  
            return ;  
        }  
        //連接配置好指定ID的網絡  
        mWifiManager.enableNetwork(mWifiConfigurations.get(index).networkId, true);  
    }  
    public void startScan(){  
        mWifiManager.startScan();  
        //得到掃描結果  
        mWifiList=mWifiManager.getScanResults();  
        //得到配置好的網絡連接  
        mWifiConfigurations=mWifiManager.getConfiguredNetworks();  
    }  
    //得到網絡列表  
    public List<ScanResult> getWifiList(){  
        return mWifiList;  
    }  
    //查看掃描結果  
    public StringBuffer lookUpScan(){  
        StringBuffer sb=new StringBuffer();  
        for(int i=0;i<mWifiList.size();i++){  
            sb.append("Index_" new Integer(i + 1).toString() + ":");  
             // 將ScanResult信息轉換成一個字符串包    
            // 其中把包括:BSSID、SSID、capabilities、frequency、level    
            sb.append((mWifiList.get(i)).toString()).append("\n");  
        }  
        return sb;    
    }  
    public String getMacAddress(){  
        return (mWifiInfo==null)?"NULL":mWifiInfo.getMacAddress();  
    }  
    public String getBSSID(){  
        return (mWifiInfo==null)?"NULL":mWifiInfo.getBSSID();  
    }  
    public int getIpAddress(){  
        return (mWifiInfo==null)?0:mWifiInfo.getIpAddress();  
    }  
    //得到連接的ID  
    public int getNetWordId(){  
        return (mWifiInfo==null)?0:mWifiInfo.getNetworkId();  
    }  
    //得到wifiInfo的所有信息  
    public String getWifiInfo(){  
        return (mWifiInfo==null)?"NULL":mWifiInfo.toString();  
    }  
    //添加一個網絡並連接  
    public void addNetWork(WifiConfiguration configuration){  
        int wcgId=mWifiManager.addNetwork(configuration);  
        mWifiManager.enableNetwork(wcgId, true);  
    }  
    //斷開指定ID的網絡  
    public void disConnectionWifi(int netId){  
        mWifiManager.disableNetwork(netId);  
        mWifiManager.disconnect();  
    }  
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章