![](/img/trans.png)
[英]How to Know if you are connected to Wifi Hotspot/Wifi/ Wifi Direct
[英]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.