原文地址:http://blog.csdn.net/yingpaixiaochuan/article/details/50069877
想要查看周围的wifi信息,需要用到WifiManager类
- private WifiManager wifiManager;
-
- wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
WifiManager类中的getScanResults可以得到一个list集合,包括周围wifi的所有信息,不过是没有排序了,我只选取中ssid、bssid、capbilities、level。
-
-
-
-
- private void showWifiList(ArrayList<ScanResult> list) {
- for (int i = 0; i < list.size(); i++) {
- String strSsid = list.get(i).SSID;
- String strBssid = list.get(i).BSSID;
- String strCapabilities = list.get(i).capabilities;
- int strLevel = list.get(i).level;
- mTv.append("\n" + "SSID: " + strSsid + "\n" + "BSSID: " + strBssid + "\n" + "capabilities: "
- + strCapabilities + "\n" + "level: " + strLevel + "\n");
- }
- }
对list进行排序,用Collections.sort()方法
-
-
-
-
- private void sortByLevel(ArrayList<ScanResult> list) {
-
- Collections.sort(list, new Comparator<ScanResult>() {
-
- @Override
- public int compare(ScanResult lhs, ScanResult rhs) {
- return rhs.level - lhs.level;
- }
- });
- }
最后还要有访问wifi的操作权限:
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
自己手动打开wifi,我就不判断了。