Как получить отсканированный тип безопасности Wi-Fi сетей? И какая конфигурация сети требуется для подключения к конкретной сети с помощью Wi-Fi в Android?

Я новичок в разработке Android, и я пытаюсь создать приложение, которое подключается к доступной сети Wi-Fi для передачи данных. Существуют различные типы безопасности для конфигурации сети Wi-Fi (EX WEP и т. Д.). Как узнать, какая сеть какой тип безопасности использует? и, зная это, как подключиться к конкретной сети.

Я много искал свою проблему и нашел следующее:

  1. Сеть WEP требует:

    wifiConfigObj.wepKeys[0] = "\"" + networkPass + "\"";
    wifiConfigObj.wepTxKeyIndex = 0;
    wifiConfigObj.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    wifiConfigObj.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
    
  2. Сеть EAP требует:

     wifiConfigObj.preSharedKey = "\""+ networkPass +"\"";
    
  3. Общедоступная сеть требует

     wifiConfigObj.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    

Но до сих пор не могу добиться ясности. Пожалуйста, дайте мне знать, как пройти через это. Спасибо..


person Hari Babu Mandala    schedule 11.02.2014    source источник


Ответы (1)


См. Ответ ayj в этом вопросе.

Если в будущем ссылка не будет работать, позвольте мне скопировать и вставить ее здесь.

Вам необходимо проанализировать строку возможностей ScanResult в методе scanComplete. Согласно документации разработчика Android,:

ScanResult.capabilities описывает схемы аутентификации, управления ключами и шифрования, поддерживаемые точкой доступа.

Возможно, вы сможете использовать - или, по крайней мере, использовать в качестве примера - статические вспомогательные методы, доступные в классе AccessPointState.

person Prince Agrawal    schedule 14.02.2014
comment
Большое спасибо. Работает нормально. - person Hari Babu Mandala; 14.02.2014