是否可以通过Wifi获取路由器品牌?
Is it possible to get the router brand throught the Wifi?
是否可以从用户当前使用的Wifi点获取路由器品牌?
我想知道路由器品牌是technicolor,thomson和...
谢谢。
在清单中添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
在代码中
public String getWifiName(Context context) {
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (manager.isWifiEnabled()) {
WifiInfo wifiInfo = manager.getConnectionInfo();
if (wifiInfo != null) {
DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState());
if (state == DetailedState.CONNECTED || state == DetailedState.OBTAINING_IPADDR) {
return wifiInfo.getSSID();
}
}
}
return null;
}
如果你能得到用户连接的路由器的 Mac 地址,你就可以使用 Wireshark's OUI database 来猜测路由器的品牌。
您可以查看 this question 的答案,了解如何在 android 中获取当前 AP MAC。
此外,站点 WikiDevi 拥有我所知道的最全面的无线设备数据库。您可以从相应的产品页面获取关系路由器接口品牌。
是否可以从用户当前使用的Wifi点获取路由器品牌?
我想知道路由器品牌是technicolor,thomson和...
谢谢。
在清单中添加权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
在代码中
public String getWifiName(Context context) {
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (manager.isWifiEnabled()) {
WifiInfo wifiInfo = manager.getConnectionInfo();
if (wifiInfo != null) {
DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState());
if (state == DetailedState.CONNECTED || state == DetailedState.OBTAINING_IPADDR) {
return wifiInfo.getSSID();
}
}
}
return null;
}
如果你能得到用户连接的路由器的 Mac 地址,你就可以使用 Wireshark's OUI database 来猜测路由器的品牌。
您可以查看 this question 的答案,了解如何在 android 中获取当前 AP MAC。
此外,站点 WikiDevi 拥有我所知道的最全面的无线设备数据库。您可以从相应的产品页面获取关系路由器接口品牌。