Puedo enumerar todas las redes wifi en rango (usando startScan + SCAN_RESULTS_AVAILABLE_ACTION + getScanResults) y obtener sus valores SSID y BSSID, pero no puedo entender cómo determinar el tipo de seguridad de cada red.android: Determine el tipo de seguridad de redes wifi en rango (sin conectarse a ellas)
En mi objetivo principal:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(scanReceiver, intentFilter);
((WifiManager)getSystemService(Context.WIFI_SERVICE)).startScan();
En mi scanReceiver objeto:
public void onReceive(Context c, Intent intent) {
if (WifiManager.SCAN_RESULTS_AVAILABLE_ACTION.equals(intent.getAction())){
mainObject.scanComplete();
}
}
Y de nuevo en mi objetivo principal:
public void scanComplete()
{
List<ScanResult> networkList = ((WifiManager)getSystemService.(Context.WIFI_SERVICE)).getScanResults();
for (ScanResult network : networkList)
{
<do stuff>
}
}
el código funciona en la medida en que scanComplete finalmente consigue llamado, y puedo enumerar con éxito todas las redes wifi cercanas y obtener su SSID y BSSID, bu t No puedo averiguar cómo determinar su tipo de seguridad.
¿Hay alguna manera de hacerlo?
Gracias de antemano.
Gracias! Gran respuesta. – twaddington
La clase AccessPointState tiene un gran código para interpretar las capacidades en un ScanResult – Xample
¿Se pueden importar estos archivos directamente o es parte de algún otro paquete? – Sohaib