Android wifi по умолчанию

Как задать приоритет предпочитаемых Wi-Fi сетей на Android

Беспроводной доступ в интернет сегодня присутствует повсеместно. И наш смартфон почти всегда подключен к той или иной сети Wi-Fi. Хотя ваш умный гаджет «смотрит» на уровень сигнала, когда подключается к тому или иному роутеру, стараясь выбрать лучший, если есть возможность, срабатывает это не всегда корректно. К тому же помимо стабильности соединения роутер-смартфон, существует еще куча параметров, на которые ваш гаджет просто не обращает внимания. Поэтому, если вы хотите всегда оставаться на связи, то неплохо бы научиться правильно задавать приоритет Wi-Fi сетям на вашем Android-смартфоне.

Задать приоритет сетям Wi-Fi проще простого

Вот как определить приоритет сети Wi-Fi на Android

Приоритетное подключение Wi-Fi должно обеспечивать согласованное подключение, позволяя смартфону легко переходить между источниками сигнала, если это необходимо. Пользователи Android-устройств имеют два варианта приоритизации соединений Wi-Fi. Некоторые смартфоны Android имеют встроенные опции приоритета Wi-Fi. Для начала давайте рассмотрим их. Чтобы проверить, есть ли такая возможность у вашего гаджета, откройте «Настройки», затем «Сеть и интернет» и уже потом «Wi-Fi». Тут должен быть пункт «Расширенные настройки Wi-Fi», а дальше опция «Приоритет сетей» (последние 2 пункта могут отличаться по названию на разных моделях устройств). Теперь вы можете выбрать из списка сетей нужную и выставить приоритет — от «низкого» до «высокого».

WiFi Prioritizer — Ничего лишнего

WiFi Prioritizer — это бесплатное приложение, которое позволяет установить приоритет подключения Wi-Fi на устройствах Android. Приложение периодически проверяет уровень сигнала не только между роутером и смартфоном, но и замеряет стабильность самого интернет-соединения, переключаясь между сетями, если это необходимо. В приложении вы увидите список сохраненных сетей Wi-Fi. Сети Wi-Fi в верхней части списка имеют более высокий приоритет, чем те, что ниже. Вы можете легко перетащить сети Wi-Fi выше или ниже по списку, чтобы изменить их приоритет.

Кроме того, WiFi Prioritizer сканирует окружающее пространство на предмет новых Wi-Fi каждые 60 секунд. При этом можно легко задать интервал сканирования вплоть до 1 раза в 30 минут. Вы также можете изменить минимальный уровень сигнала, требуемый для подключения к сетям Wi-Fi.

Wi-Fi Switcher — Все работает на автомате

Wi-Fi Switcher отслеживает ваше окружение для предоставления лучшего сигнала Wi-Fi. В зависимости от ваших настроек, Wi-Fi Switcher подключит вас к лучшей локальной сети. Приоритет тут задается вручную расставлением соответствующих флажков. Но самая, пожалуй нужная функция — это возможность избегать определенных сетей при любых условиях. При этом также имеется возможность автоматического подключения к новым сетям, если на них нет пароля. А еще Wi-Fi Switcher обладает и другой довольно полезной особенностью. В настройках программы можно задать поиск сетей, работающих на частоте 5,0 гигагерц, что очень удобно. А ваш роутер поддерживает работу на частоте 5 гигагерц? Напишите об этом в нашем чате в Телеграм.

WiFi Connection Manager — Настоящий монстр по работе с сетями

WiFi Connection Manager — это не только программа для приоритизации Wi-Fi сетей. Это целый «центр управления». К вашим услугам инструменты по диагностике сетевого подключения, графики загруженности каналов Wi-Fi, списки приоритетов подключения Wi-Fi вручную или автоматически, тип безопасности Wi-Fi и многое другое. При этом есть интересная возможность по «передаче приоритета», когда та или иная сеть меняет свое название, но оборудования остается тем же, эта «старая новая» сеть окажется на том же месте в списке приоритета, что и была изначально.

Читайте также:  Администратор устройства андроид отключить samsung

Источник

Как настроить Wi-Fi в Android

Уровень сложности: для начинающих. Любой современный смартфон немыслим без доступа в Интернет. Существует два основных способа подключить его к сети: с помощью Wi-Fi к точке доступа, либо через сотовые сети оператора связи. Второй способ всё ещё не может обеспечить дешёвого и достаточно быстрого скачивания больших объёмов информации, поэтому наш сегодняшний материал посвящён подключению смартфонов под управлением Android именно к Wi-Fi.

Настройки Wi-Fi можно найти в одноимённом приложении «Настройки». В прошивках разных производителей это приложение может иметь несколько различный вид, но чаще всего настройки Wi-Fi расположены в разделе «Беспроводные сети». А телефонах производства Samsung, где весь список настроек разделён на вкладки, опции Wi-Fi следует искать в разделе “Подключения»..

Если беспроводной модуль выключен, то для начала его необходимо включить соответствующим переключателем в строке заголовка. После включения Wi-Fi поиск доступных сетей начинается автоматически, причём в появившемся списке сначала находятся перечень действующих точек доступа, а за ним выводятся названия сетей, которые сохранены в памяти гаджета, но сейчас находятся вне диапазона доступа.

К Wi-Fi сети можно подключиться несколькими разными способами. Наиболее простой и универсальный — с помощью постоянного пароля. Зная его, достаточно коснуться нужной сети в списке, ввести пароль и нажать кнопку «Подключиться», после чего соединение будет установлено.

Другой способ подключиться к точке доступа — использовать WPS (Wi-Fi Protected Setup). Для подключения необходимо на самом роутере нажать физическую кнопку (иногда она программная и находится в веб-интерфейсе роутера), которая обычно подписывается как “WPS” (в роутерах TP-Link “QSS”), либо обозначается символом как на скриншоте выше. На смартфоне одновременно нужно найти и нажать кнопку с обозначением «WPS» или уже знакомый символ. Если всё сделано правильно, соединение между вашим устройством и точкой доступа будет установлено автоматически.

Стандарт WPS также предусматривает ещё один метод авторизации — с помощью PIN-кода. Его поддерживают не все Android-устройства, а вводить цифры с экрана смартфона необходимо в веб-интерфейсе роутера, поэтому этот способ не имеет широкого распространения, хотя и более безопасен по сравнению с кнопкой.

Когда соединение с точкой доступа установлено, предлагаем посмотреть на несколько дополнительных параметров в расширенных настройках Wi-Fi. Их список может различаться в зависимости от производителя смартфона или планшета и его конкретной модели, но, как правило, ряд параметров присутствует в любом устройстве. Один из них — возможность уведомления о наличии открытых сетей, к которым можно подключиться без ввода пароля.

Другая полезная дополнительная функция называется «Всегда разрешать поиск». При включении этой опции смартфон или планшет будет сканировать окружающие Wi-Fi сети даже при отключённом беспроводном модуле. Это пригодится для более быстрого и точного геопозиционирования без GPS, но следует помнить, что на поиск сетей расходуется часть заряда аккумулятора, что может привести к небольшому уменьшению времени автономной работы.

Последняя опция носит название «Wi-Fi в спящем режиме» и позволяет установить, стоит ли отключать Wi-Fi при блокировке смартфона. Рекомендуем выбрать пункт «Не отключать при зарядке», благодаря которому можно начать скачивание большого файла и поставить устройство на зарядку, не опасаясь разрыва соединения.

Источник

Wi-Fi и много других аббревиатур. Как в Android приложении получить данные об узлах Wi-Fi и не опухнуть

Однажды мне понадобилось сканировать из Android приложения сети Wi-Fi и получать подробную выкладку данных о точках доступа.

Тут пришлось столкнуться с несколькими трудностями: в офф.документации Android многие описанные классы стали deprecated (API level > 26), что никак не было в ней отражено; описание некоторых вещей в документации минимально (например поле capabilities класса ScanResult на момент написания не описано почти никак, хотя содержит много важных данных). Третья сложность может заключаться в том, что при первой близости с Wi-Fi, отличной от чтения теории и настройки роутера по localhost, приходится иметь дело с рядом аббревиатур, которые кажутся понятными по отдельности. Но может быть не очевидно, как их соотнести и структурировать (суждение субъективно и зависит от предыдущего опыта).

Читайте также:  Как установить последнюю прошивку андроид

В данной статье рассмотрено как из Android кода получить исчерпывающие данные о Wi-Fi окружении без NDK, хаков, а лишь с помощью Android API и понять, как их интерпретировать.

Не будем тянуть и начнем писать код.

1. Создаем проект

Заметка рассчитана на тех, кто больше одного раза создавал Android проект, поэтому подробности данного пункта опускаем. Код ниже будет представлен на языке Kotlin, minSdkVersion=23.

2. Разрешения на доступы

Для работы с Wi-Fi из приложения понадобится получить от пользователя несколько разрешений. В соответствии с документацией, для того, чтобы осуществить сканирование сети на устройствах с ОС версий после 8.0, помимо доступа к просмотру состояния сетевого окружения нужен либо доступ на изменение состояния модуля Wi-Fi устройства, либо доступ к координатам (примерным или точным). Начиная с версии 9.0 необходимо запросить у пользователя и то и то, и при этом явно запросить у пользователя включить службу определения местоположения. Не забываем галантно объяснять пользователю, что это прихоть компании Google, а не наше желание устроить за ним слежку 🙂

Итого, в AndroidManifest.xml добавим:

А в коде, в котором есть ссылка на текущую Activity:

3. Создаем BroadcastReceiver и подписываемся на события обновления данных о сканировании сетевого окружения Wi-Fi

Метод WiFiManager.startScan в документации помечен как depricated с версии API 28, но офф. guide предлагает использовать его.

Итого, получили список объектов ScanResult.

4. Смотрим на ScanResult и разбираемся в терминах

Посмотрим на некоторые поля этого класса и опишем, что они означают:

SSID — Service Set Identifier – это название сети

BSSID – Basic Service Set Identifier – MAC адрес сетевого адаптера (Wi-Fi точки)

level — Received Signal Strength Indicator [dBm (русское дБм) — Децибел, опорная мощность 1 мВт.] — Показатель уровня принимаемого сигнала. Принимает значение от 0 до -100, чем дальше от 0, тем больше мощности сигнала потерялось по пути от Wi-Fi точки к вашему устройству. Подробнее можно посмотреть например на Википедии. Здесь же расскажу, что с помощью Android класса WifiManager можно проградуировать уровень сигнала по шкале от отличного до ужасного с выбранным вами шагом:

frequency — частота работы точки Wi-Fi [Гц]. Помимо самой частоты вас может заинтересовать так называемый канал. У каждой точки есть своя рабочая чистота. На момент написания текста наиболее популярным диапозоном Wi-Fi точек является 2.4 GHz. Но, если быть точнее, точка передает информацию на ваш телефон на пронумерованной частоте, близкой к названной. Количество каналов и значения соответствующих частот стандартизованы. Это сделано для того, чтобы точки поблизости работали на разных частотах, тем самым не создавая помехи друг другу и взаимно не понижая скорость и качество передачи. При этом точки работают не на одной частоте, а на диапазоне частот (пареметр channelWidth), называемом шириной канала. То есть точки, работающие на соседних (и не только на соседних, а даже на 3 от себя) каналах создают друг другу помехи. Вам может пригодится этот незамысловатый код, который позволяет вычислить номер канала по значению частоты для точек с частотой 2.4 и 5 Ghz:

capabilities — наиболее интересное поле для анализа, работа с которым потребовало много времени. Тут в строку записываются «возможности» точки. При этом подробности интерпритации строки в документации можно не искать. Вот несколько примеров того, что может лежать в этой строке:

5. Разбираемся в аббревиатурах и парсим capabilities

Стоит упомянуть, что классы пакета android.net.wifi.* использует под капотом linux-утилиту wpa_supplicant и результат вывода в поле capabilities является копией поля flags при сканировании.

Будем действовать последовательно. Рассмотрим сначала вывод такого формата, при котором внутри скобок элементы отделены знаком «-«:

Первое значение описывает т.н. метод аутентификации (authentication). То есть, какую последовательность действий должны произвести устройство и точка доступа, чтобы точка доступа позволила собой пользоваться и каким образом шифровать полезную нагрузку. На момент написания поста самые частые варианты это WPA и WPA2, при котором либо каждое подключаемое устройство напрямую, либо через т.н. RADIUS-сервер (WPA-Enterprice) предоставляет пароль по зашифрованному каналу. Скорее всего у вас дома точка доступа предоставляет подключение по этой схеме. Отличие второй версии от первой в болеее стойком шифре: AES против небезопасного TKIP. Также постепенно внедряется WPA3, более сложный и продвинутый. Теоритически может встретиться вариант с enterprice-решением CCKM (Cisco Centralized Key Managment), но мне так и не встретился.

Читайте также:  Карты для глонасс для android

Точка доступа могла быть настроена на аутентификацию по MAC-адресу. Или, если точка доступа предоставляет данные по устаревшему алгоритму WEP, то аутентификации фактически нет (секретный ключ тут и является ключом шифрования). Такие варианты отнесем к типу OTHER.
Ещё есть полюбившийся в общественных wi-fi метод со скрытым Captive Portal Detection — запрос аутентификации через браузер. Такие точки доступа выглядят для сканера как открытые (какими с точки зраения физического подключения и являются). Поэтому отнесем их к типу OPEN.

Второе значение можно обозначить как алгоритм использования ключей (key management). Является параметром метода аутентификации, о котором написано выше. Говорит о том, как именно происходит обмен ключами шифрования. Рассмотрим возможные варианты. EAP — используется в упомянутом WPA-Enterprice, использует базу данных для сверки введеных аутентификационных данных. SAE — используется в продвинутом WPA3, более устойчива к перебору. PSK — самый частый вариант, подразумевает ввод пароля и его передачу в зашифрованном виде. IEEE8021X — по международному стандарту (отличному от поддержанным семейством WPA). OWE (Opportunistic Wireless Encryption) является расширением стандарта IEEE 802.11, для точек, которые мы отнесли к типу OPEN. OWE обеспечивает безопасность данных, передаваемых по незащищенной сети, за счет их шифрования. Также возможен варинант когда ключей доступа нет, назовем такой вариант NONE.

Третьим параметром является т.н. метод шифрования (encryption schemes) — как именно используется шифр для зашиты передаваемых данных. Перечислим варианты. WEP — использует поточный шифр RC4, секретный ключ является ключом шифрования, что в мире современной криптографии считается неприемлемым. TKIP — используется в WPA, CKIP — в WPA2. TKIP+CKIP — может быть указан в точках умеющих WPA и WPA2 для обратной совместимости.

Вместо трех элементов можно встретить одинокую пометку WEP:

Как мы обсудили выше, этого достаточно чтобы не конкретизировать алгоритм использования ключей, которого нет, и метода шифрования, которое одно по-умолчанию.

Теперь рассмотрим такую скобочку:

Это режим работы Wi-Fi или топология сетей Wi-Fi. Вам может встретиться Режим BSS (Basic Service Set) — когда есть одна точка доступа, через которую общаются подключенные устройства. Можно встретить в локальных сетях. Как правило точки доступа нужны для того, чтобы соединять устройства из разных локальных сетей, поэтому они являются частью Extended Service Sets — ESS. Тип IBSSs (Independent Basic Service Sets) говорит о том, что устройство является частью Peer-to-Peer сети.

Ещё может попасться флаг WPS:

WPS (Wi-Fi Protected Setup) — протокол полуавтоматической инициализации сети Wi-Fi. Для инициализации пользователь либо вводит 8-символьный пароль, либо зажимает кнопку на роутере. Если ваша точка доступа относится к первому типу и этот флажок высветился напротив имени вашей точки доступа, вам настоятельно рекомендуется зайти в админку и отключить доступ по WPS. Дело в том, что часто 8-значный PIN можно узнать по MAC-адресу, либо перебрать за обозримое время, чем кто-то нечистый на руку сможет воспользоваться.

6. Создаем модель и функцию парсинга

На основе того, что выяснили выше опишем data-классами то, что получилось:

Теперь напишем функцию, которая будет парсить поле capabilities:

8. Смотрим результат

Посканирую сеть и покажу, что получилось. Показаны результаты простого вывода через Log.d:

Неосвещенным остался вопрос подключения к сети из кода приложения. Скажу только, что для того, чтобы считать сохраненные пароли ОС мобильного устройства, нужны root-права и готовность порыться в файловой системе чтобы прочитать wpa_supplicant.conf. Если логика приложения предполагает ввод пароля извне, подключение можно осуществить через класс android.net.wifi.WifiManager.

Спасибо Егору Пономареву за ценные дополнения.

Если считаете, что нужно что-то добавить или исправить, пишите в комментарии 🙂

Источник

Оцените статью