在Android中扫描wifi热点演示实例教程

    public void onCreate(Bundle savedInstanceState) {



            super.onCreate(savedInstanceState);

            setContentView(R.layout.vifi);



            setTitle("eoe教程: Wifi Test.  -by:IceskYsl"); 

            mainText \= (TextView) findViewById(R.id.wifi);

            mainWifi \= (WifiManager) getSystemService(Context.WIFI\_SERVICE);

            receiverWifi \= new WifiReceiver(); 

            registerReceiver(receiverWifi, new IntentFilter(



                            WifiManager.SCAN\_RESULTS\_AVAILABLE\_ACTION));

             mainWifi.startScan(); 

            mainText.setText("\\nStarting Scan...\\n");



    }



    public boolean onCreateOptionsMenu(Menu menu) {



            menu.add(0, 0, 0, "Refresh"); 

            return super.onCreateOptionsMenu(menu); 

    }



    public boolean onMenuItemSelected(int featureId, MenuItem item) {



            mainWifi.startScan();

            mainText.setText("Starting Scan");

            return super.onMenuItemSelected(featureId, item);



    }



    protected void onPause() {



            unregisterReceiver(receiverWifi); 

            super.onPause();

     }



    protected void onResume() {



            registerReceiver(receiverWifi, new IntentFilter(

                            WifiManager.SCAN\_RESULTS\_AVAILABLE\_ACTION));

             super.onResume();



    }



    class WifiReceiver extends BroadcastReceiver { 



            public void onReceive(Context c, Intent intent) {



                    sb \= new StringBuilder();

                     wifiList \= mainWifi.getScanResults();



                    for (int i = 0; i < wifiList.size(); i++) {



                            sb.append(new Integer(i + 1).toString() + "."); 

                            sb.append((wifiList.get(i)).toString()); 

                            sb.append("\\n\\n"); 

                    } 

                    mainText.setText(sb); 

            }

     }

}




3、申请相关权限,代码如下:






4、OK,就这些,效果看附件图片,我扫描到我这有2个热点。




### 最后

**我坚信,坚持学习,每天进步一点,滴水穿石,我们离成功都很近!**
以下是总结出来的**字节经典面试题目**,包含:计算机网络,Kotlin,数据结构与算法,Framework源码,微信小程序,NDK音视频开发,计算机网络等。

# **字节高级Android经典面试题和答案**

![](https://img-blog.csdnimg.cn/img_convert/cd8a28f9480199e53f0952c0746094a5.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/749c097e457c3520ffbee066f3e33b16.png)





**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

Android 手机可以使用 `WifiManager` 类来进行扫描周边的 WiFi 热点。用户可以通过调用 `startScan()` 方法来触发扫描操作。下面是一个简单的示例代码,展示了如何使用 Android 扫描周边的 WiFi 热点: ```java // 获取 WifiManager 实例 WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE); // 判断 WiFi 是否已经开启,如果未开启,则先开启 WiFi if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); } // 开始扫描 WiFi 热点 wifiManager.startScan(); // 获取扫描结果 List<ScanResult> scanResults = wifiManager.getScanResults(); // 遍历扫描结果,取得周围的 WiFi 信息 for (ScanResult scanResult : scanResults) { String ssid = scanResult.SSID; // WiFi 名称 String bssid = scanResult.BSSID; // WiFi 地址 int level = scanResult.level; // WiFi 信号强度 // 其他相关字段,如加密类型等,可以通过 ScanResult 类提供的方法获取 // 进行你想要的处理,比如打印或者保存信息 Log.d("ScanResult", "SSID: " + ssid + ", BSSID: " + bssid + ", Level: " + level); } ``` 上述代码,我们首先获取了 `WifiManager` 实例,然后检查 WiFi 是否开启。如果没有开启,则调用 `setWifiEnabled(true)` 方法来开启。接下来,我们调用 `startScan()` 方法来触发扫描。最后,通过调用 `getScanResults()` 方法来获取扫描结果,然后遍历结果进行处理。 需要注意的是,为了使用 WiFi 功能,必须在 AndroidManifest.xml 文件添加以下权限: ```xml <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ``` 另外,还需要在 Android 6.0 及以上的版本请求运行时权限来访问位置信息: ```java // 检查是否获取了位置权限 if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // 请求位置权限 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1); } ``` 以上是一个简单的 Android 扫描周边 WiFi 热点的方法。根据你的需求,你可以进一步处理扫描结果,比如筛选特定的 WiFi 热点或者显示在用户界面上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值