0

我正在使用此代码获取 wifi SSID 列表

 WifiManager  wifimanager =     (WifiManager)getActivity().getSystemService(Context.WIFI_SERVICE);
 List<ScanResult> mScanResults = wifimanager.getScanResults();
 ArrayList<String> statut = new ArrayList<String>() ;
 for(ScanResult results : mScanResults){
 Log.e("result",results.SSID);
 statut.add(results.SSID);}
 ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item,statut);
 spinner = (Spinner) rootView.findViewById(R.id.spinner);
 spinner.setAdapter(adapter);

现在我想为每个 SSID 提取 WIFI 安全名称(WPA/WPA2/PSK)。任何帮助将不胜感激。

4

1 回答 1

0

你可以试试下面的代码:

 private String getScanResultSecurity(ScanResult scanResult){
            String capabilities = scanResult.capabilities;
            String securityModes[] = { Constants.WEP, Constants.PSK, Constants.EAP};
            for(int i = 0; i < securityModes.length; i++){
                if(capabilities.contains(securityModes[i])){
                    return securityModes[i];
                }
            }
            return Constants.OPEN;
        }

    public class Constants {
        // Constants used for different security types
        public static final String PSK = "PSK";
        public static final String WEP = "WEP";
        public static final String EAP = "EAP";
        public static final String OPEN = "Open";
    }
于 2014-09-30T09:32:00.243 回答