【发布时间】:2014-05-09 17:37:19
【问题描述】:
我知道设备是否连接到 wifi 路由器。 出于安全原因,我想知道该连接是私人连接(我有密码的连接之一,如家庭、工作......),还是只是没有密码的公共开放连接(图书馆、机场。 ..)。
有可能吗?
【问题讨论】:
我知道设备是否连接到 wifi 路由器。 出于安全原因,我想知道该连接是私人连接(我有密码的连接之一,如家庭、工作......),还是只是没有密码的公共开放连接(图书馆、机场。 ..)。
有可能吗?
【问题讨论】:
这里为您提供代码来查找所有可用 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 列表,如果有,则表示私有或公开。
【讨论】:
是的,您可以检查特定的 wifi 是私人的还是公共的。 您可以获取所有可用 wifi 的列表,并可以获取他们的 BSSID,如果任何 wifi 连接具有 BSSID,这意味着这是私有的,否则不是。如果您想要代码,请告诉我。
【讨论】: