android 獲取當前隱藏和未隱藏wifi的加密方式(安全性)
阿新 • • 發佈:2019-02-20
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WifiManager mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = mWifiManager.getConnectionInfo(); // 得到配置好的網路連線 List<WifiConfiguration> wifiConfigList = mWifiManager.getConfiguredNetworks(); for (WifiConfiguration wifiConfiguration : wifiConfigList) { //配置過的SSID String configSSid = wifiConfiguration.SSID; configSSid = configSSid.replace("\"", ""); //當前連線SSID String currentSSid =info.getSSID(); currentSSid = currentSSid.replace("\"", ""); //比較networkId,防止配置網路儲存相同的SSID if (currentSSid.equals(configSSid)&&info.getNetworkId()==wifiConfiguration.networkId) { Log.e("hefeng", "當前網路安全性:" + getSecurity(wifiConfiguration)); } } } /** * These values are matched in string arrays -- changes must be kept in sync */ static final int SECURITY_NONE = 0; static final int SECURITY_WEP = 1; static final int SECURITY_PSK = 2; static final int SECURITY_EAP = 3; static int getSecurity(WifiConfiguration config) { if (config.allowedKeyManagement.get(KeyMgmt.WPA_PSK)) { return SECURITY_PSK; } if (config.allowedKeyManagement.get(KeyMgmt.WPA_EAP) || config.allowedKeyManagement.get(KeyMgmt.IEEE8021X)) { return SECURITY_EAP; } return (config.wepKeys[0] != null) ? SECURITY_WEP : SECURITY_NONE; }