1

(WSA, WSA2, WEP 등) 무선 랜 암호화 유형을 얻을 수있는 방법이 있나요 : 모든 wifi 네트워크를 검색하지 않고 현재 와이파이 연결의 암호화 유형을 얻는 방법은 무엇입니까? 프로그램 안드로이드 6.0 이상 사용하지 않고

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
List<ScanResult> networkList = wifi.getScanResults(); 

나는 위치에 액세스하는 사용자에게 물어 싶지 않기 때문에

.

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 

Wi-Fi 네트워크를 검색 할 때 필요한 것으로 보입니다.

android.net.wifi.WifiInfo 클래스에서와 같이 모든 wifi 네트워크를 검색하지 않아도이를 얻을 수있는 방법이 필요합니다.

답변

1

아니요, 가능하지 않습니다. 현재 실행중인 Wi-Fi의 암호화 유형을 가져와야하는 유일한 방법은 iterations을 사용하여 android.net.wifi.WifiInfo 또는 ScanResults을 사용하는 것입니다. https://stackoverflow.com/a/28906046/4360419

+0

감사 :

당신은 당신은 여기에서 refferences를 얻을 수 ScanResult

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); List<ScanResult> networkList = wifi.getScanResults(); //get current connected SSID for comparison to ScanResult WifiInfo wi = wifi.getConnectionInfo(); String currentSSID = wi.getSSID(); if (networkList != null) { for (ScanResult network : networkList) { //check if current connected SSID if (currentSSID.equals(network.SSID)){ //get capabilities of current connection String Capabilities = network.capabilities; Log.d (TAG, network.SSID + " capabilities : " + Capabilities); if (Capabilities.contains("WPA2")) { //do something } else if (Capabilities.contains("WPA")) { //do something } else if (Capabilities.contains("WEP")) { //do something } } } } 

으로 현재 실행중인 와이파이의 암호화 유형을 얻기 위해 아래의 예제를 사용할 수 있습니다. 아마 미래 버전의 AOSP에 추가 될 것입니다. – Veener

+0

내 대답이 마음에 들면, 도움이된다고 표시하십시오 ...! –

+0

답변을 아직 받아들이지 않을 것입니다. 누군가 문서화되지 않은 방법으로이를 알고있을 수도 있습니다. – Veener

관련 문제