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

时间:2014-05-09 09:02:01

标签: android wifi

我知道设备是否连接到wifi路由器。 出于安全原因,我想知道这个连接是否是私有连接(其中一个我有密码,如Home,Work ...),或者它只是一个没有密码的公共开放连接(图书馆,机场)。 ..)。

有可能吗?

2 个答案:

答案 0 :(得分:0)

是的,你可以查看特定的wifi,它是私人的还是公共的。 你可以获得所有可用wifi的列表,并且可以得到他们的BSSID,如果任何wifi连接有BSSID,这意味着这是私有的,否则没有。如果你想要代码PLZ让我知道。

答案 1 :(得分:0)

Herei为您提供代码,以查找所有可用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;}

和你的mainActivity

     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列表,如果它们有私有信息则公开。