簡體   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