Nir*_*mal 8 android bssid android-wifi
我用下面的代码,但它运作良好,但一些一个月后我得到的结果作为任何不但得不到BSSID值.这是我的代码.请指导我任何其他替代方式.
@SuppressLint("LongLogTag")
public void loadWifiAvailableList() {
WifiManager wifiMan = (WifiManager) getApplicationContext().getSystemService(
Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMan.getConnectionInfo();
String macAddr = wifiInfo.getMacAddress();
String bssid = wifiInfo.getBSSID();
//here i am getting the proper bssid
Log.d("bssid from get connection info",bssid);
List<WifiConfiguration> list = wifiMan.getConfiguredNetworks();
for( WifiConfiguration i : list ) {
if(i.BSSID!=null)
//here i am getting any from i.BSSID
Log.d("bssid from get configured network",i.BSSID);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经找到了一些解决方案,为什么我在 android 中的getConfiguredNetworks() api 中收到任何或空字符串。背后的原因是,如果我们在某些情况下具有相同的 SSID 和相同的密码,它会作为任何字符串或空字符串发送。因此,当您尝试使用相同的 ssid 连接时,getConfiguredNetworks()不是正确的方法。因此,请使用getScanResults() Api 而不是getConfiguredNetworks()。经过一些自己的研究后我发现了这一点。仅当您获得具有相同 ssid 和密码的AP列表时才会出现此问题。使用扫描结果并在 wifi 配置中添加该网络,然后连接它,但此方法在API 级别 26中已弃用。所以它从 api level 26起就不起作用了。参考链接
///sf/answers/617294331/
wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
//checking the right network.
List<ScanResult> scanresults = wifiManager.getScanResults();
{
for (ScanResult scanresult : scanresults) {
Log.d("scan result1", scanresult.BSSID + "");
}}
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\"";
conf.BSSID = Bssid;
WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
///this wont work from api level 26
wifiManager.addNetwork(conf);
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for (WifiConfiguration i : list) {
if (i.BSSID != null && i.BSSID.equals(Bssid)) {
wifiManager.disconnect();
wifiManager.enableNetwork(i.networkId, true);
wifiManager.reassociate();
Log.d("changing network", "connecting the right network");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
658 次 |
| 最近记录: |