繁体   English   中英

如何知道Android设备是否已连接到公共wifi热点

[英]How to know if an Android device is connected to a public wifi hotspot

我知道设备是否已连接到wifi路由器。 出于安全原因,我想知道该连接是私人连接(我有密码的连接之一,如家庭,工作...)还是只是一个没有密码的公共开放连接(图书馆,机场)。 ..)。

可能吗?

是的,您可以检查特定的wifi,它是私人的还是公共的。 您可以获取所有可用wifi的列表,并获取其BSSID,如果任何wifi连接具有BSSID,则表示此状态为私有,否则为非。如果您想要代码plz,请告诉我。

这里为您提供代码以查找所有可用wifi及其信息(如BSSID,SSID等)的列表。在这里您可以找到特定的wifi是公共的还是私有的。

为名为WifiDataBeans的wifi数据创建bean

public class WifiDataBeans {
public String ssid;
public String bssid;
public String compatibility;
public int freq;
public int level;}

在你里面

     WifiManager manager;
    public  ArrayList<WifiDataBeans> list = new ArrayList<WifiDataBeans>();

在onCreate()中

        manager = (WifiManager) getSystemService(WIFI_SERVICE);

            List<ScanResult> results = manager.getScanResults();
                    for (int i = 0; i < results.size(); ++i) 
        {
            WifiDataBeans bean = new WifiDataBeans();
            bean.ssid = results.get(i).SSID;
            bean.bssid = results.get(i).BSSID;
            bean.compatibility = results.get(i).capabilities;
            bean.freq = results.get(i).frequency;
            bean.level = getPowerPercentage(results.get(i).level);
            list.add(bean);

        }

在这里,您可以检查wifi BSSID的所有列表,如果它们具有私有的则意味着是公共的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM