У этого есть много подобных вопросов (google для: «не обнаружен интернет-доступ. Не будет автоматически подключаться» или: соединение с Wi-Fi для Wi-Fi программно).
Я думал, что у меня был ответ здесь, но он прекратил работу после установки обновлений 6.0.1 (у меня есть 1 патчи безопасности).
Похоже, это изменение поведения.
У меня есть некоторые 2013 nexus 7 с 6.0.1, которые запускают приложение типа киоска и хотят программно подключиться к определенной беспроводной сети, у которой нет подключения к Интернету. Каждая таблетка имеет уникальный статический IP-адрес формы: 192.168.0.xx. Я использую стандартные конструкторы сокетов java и проверяю, работает ли интерфейс: NetworkInterface.getNetworkInterfaces ().
Было сделано ручное соединение. Иногда появляется диалоговое окно, в котором спрашивается, хотите ли вы всегда подключаться. Я всегда проверяю да.
Но Wi-Fi говорит: «Интернет-доступ не обнаружен, и не будет автоматически подключаться» после того, как маршрутизатор включит питание.
Выполнение отключения, включения, повторного подключения не работает. В лучшем случае он получает: ip6-localhost / :: 1.
Кому-нибудь удавалось использовать объект запроса или bindProcessToNetwork?
Редактировать: related .
Edit: проблема, похоже, связана с: CAPTIVE_PORTAL_DETECTION_ENABLED – эта строка , по-видимому, определена в источнике:
Public static final String CAPTIVE_PORTAL_DETECTION_ENABLED = "captive_portal_detection_enabled"; ... MOVED_TO_GLOBAL.add(Settings.Global.CAPTIVE_PORTAL_DETECTION_ENABLED);
Но бросает " .provider.Settings $ SettingNotFoundException: captive_portal_detection_enabled при использовании явно и не отображается в студии android.
Кроме того, выполнение списка настроек global не содержит константы.
Редактирование выполнения настроек оболочки adb put global captive_portal_detection_enabled 0 действительно работает, но это невозможно сделать в поле, когда маршрутизатор запускает питание. Это значение, по- видимому, сохраняется, когда питание планшета. И теперь это значение отображается в списке настроек global. Также, используя необработанную строку: Settings.Global.getInt (getContentResolver (), "captive_portal_detection_enabled"); Теперь возвращает 0.
Edit: похоже, для его установки требуется: android.permission.WRITE_SECURE_SETTINGS, но, конечно, это не удается, если вы помещаете в манифест, так как мы не являемся системным приложением.
Edit: пытается выполнить команду командной строки throw: java.lang.SecurityException, поэтому похоже, что вам нужно выдать команду из adb 🙁
благодаря
Не могли бы вы попытаться установить глобальный параметр captive_portal_detection_enabled в 0 (false).
Что на самом деле происходит, так это то, что по умолчанию каждый раз, когда вы подключаетесь к Wi-Fi, FW будет тестировать сервер (как правило, google), чтобы увидеть, является ли он доступным wifi (требуется логин). Поэтому, если ваш Wi-Fi не подключен к Google, эта проверка завершится с ошибкой. После этого устройство знает, что Wi-Fi не имеет подключения к Интернету и просто не будет автоподключиться к нему.
Установка этого параметра на 0, позволит избежать этой проверки.
Программно Settings.Global.putInt(getContentResolver(), Settings.Global.CAPTIVE_PORTAL_DETECTION_ENABLED, 0);
Вы можете сделать это через adb для целей тестирования:
Adb shell settings put global captive_portal_detection_enabled 0
И получить его значение следующим образом:
Adb shell settings list global | grep "captive"
IMHO это не очень приятно делать, поскольку вы меняете настройки для пользователя, и многие FW не предоставляют даже расширенные настройки, чтобы включать / отключать это самим пользователем. (Google не делает). Но, возможно, это соответствует вашим потребностям.
Надеюсь, поможет!
Внекорневое решение, которое является своего рода хак-технологией. :П
Я не знаю почему, но он работает …
Какой толк от смартфона, если он не подключается к Интернету? Даже самые лучшие Android смартфоны иногда имеют проблемы с интернетом. Если у вас проблемы с сетью Wi-Fi, предлагаем несколько методов, которые позволят решить их.
Для начала вам стоит попробовать несколько простых методов решения проблем с Wi-Fi. Часто пользователи смартфонов ищут сложные и запутанные способы решить проблему, при этом забывают про относительные простые варианты. Во-первых, попробуйте выключить и повторно включить Wi-Fi сеть. Откройте меню Быстрых настроек и нажмите на значок Wi-Fi, чтобы выключить сеть.
Еще одно простое решение – включить режим Полета на несколько секунд, потом заново выключить его.
Если проблема с Wi-Fi не была решена, попробуйте перезагрузить смартфон.
Наиболее очевидная причина данной проблемы заключается в том, что вы не включили опцию работы Wi-Fi в спящем режиме. Этот параметр автоматически отключает смартфон от сети Wi-Fi для экономии заряда батареи.
Выполните следующие действия:
Существует две сети, которые имеют ограниченный автоматический доступ: сеть, к которой вы хотите подключиться, принадлежит к определенному типу, или сеть, которая скрыта по соображениям безопасности.
Что касается первой проблемы, большинство Android смартфонов не настроены на работу в одноранговых сетях. Однако добрые люди из форума разработчиков XDA создали патч, который позволяет обойти это ограничение. С помощью файла wpa_supplicant , вы можете подключиться к этим типам сетей.
Внимание: Данное решение предназначено только для продвинутых пользователей.
Если проблема связана со скрытой сетью, вы можете попробовать добавить ее вручную. Перейдите в раздел Настройки> Wi-Fi> Добавить сеть. Введите SSID и пароль от сети.
Если у вас проблема с получением IP-адреса, тогда ваш смартфон попадает в бесконечный цикл подключения к сети. Именно поэтому Wi-Fi не работает. Для начала перезагрузите домашний роутер. Если проблема не устранена, выполните сброс к заводским установкам.
Если вы считаете, что это недопустимое решение проблемы, тогда мы можем посоветовать другой вариант. Перейдите в магазин приложений Google Play Store и скачайте WiFi Fixer .
Приложение восстанавливает системные файлы Wi-Fi и некоторые услуги, которые необходимы для нормального функционирования Wi-Fi сети. Приложение WiFi Fixer позаботится о том, чтобы смартфон получил IP- адрес.
Вам удалось подключиться к Wi-Fi сети, но скорость настолько медленная, что вы не можете просматривать веб-страницы? Вы уверены, что ваш роутер работает хорошо, сигнал достаточно сильный и в целом нет никаких проблем? Советуем проверить скорость интернета через приложение SpeedTest . Это надежный и точный сервис, который за нескольких секунд покажет вам фактическую скорость загрузки, отдачи и пинг.
Если Android не подключается к WiFi, то чаще всего пользователь видит сообщение «Получение IP адреса» или уведомление «Ошибка аутентификации». Еще одна распространенная ошибка подключения — Андроид пишет «Сохранено, защита WPA/WPA2», но в интернет не выходит.
Данная статья подходит для всех брендов, выпускающих телефоны на Android 9/8/7/6: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.
Если Android не может подключиться к Wi-Fi — например, вместо активного значка вайфая вы видите серую кнопку и значок восклицательный знак — то причиной этого может быть:
Первым делом необходимо понять, в работе какого устройства возникают проблемы. Если к точке не подключается только ваш телефон, то причину следует искать в его настройках и прошивке. Если беспроводную сеть не находит ни одно устройство, то следует проверить настройки роутера.
Если при попытке выполнить подключение появляется сообщение с текстом « », но соединение не устанавливается, то причиной этого может быть отключение DHCP-сервера в настройках роутера или проблемы в работе Android. Помочь может простая перезагрузка роутера.
Если в работе DHCP-сервера произошел сбой, перезапуск устройства его устранит. При сохранении ошибки:
В зависимости от модели роутера порядок включения/отключения DHCP может меняться, так что вам нужно искать инструкцию для своего устройства.
Если аутентификация при подключении заканчивается ошибкой, то, скорее всего, причиной неполадки является неправильный ввод пароля Wi-Fi. Чтобы устранить ошибку:
Если телефон не поддерживает стандарт WPA2-PSK, то выберите другой режим — WPA, WPA2. Понятно, что в метро или торговом центре вы не можете это сделать, так что остается только смириться. А вот дома или в отеле можно получить доступ к роутеру и проверить параметры работы беспроводной сети.
Если подключение осуществляется без пароля, то ошибки аутентификации быть не может. Тем не менее, бывает другая ситуация — сеть сохранена, но . Обычно помогает перезагрузка роутера, но иногда приходится залазить в настройки достаточно глубоко.
Кроме того, посмотрите количество разрешенных устройств. Если стоит «0», значит, ограничений нет.
Wi-Fi-интернет – отличная штука, особенно когда вы находитесь в зоне доступа бесплатного источника сигнала. Например, зашли в кафе поужинать, угостить девушку чашечкой кофе. В кармане оказался планшетный компьютер или смартфон на платформе Android.
Можно сделать сэлфи с красоткой или послушать музыку. Зайти в любимые Одноклассники или во ВКонтакте. Но, вот незадача, вы включаете планшет, а Android не подключается к WiFi. При этом вы точно знаете – здесь есть источник бесплатного интернета.
Другой случай. Вы приобрели роутер, оформили подключение к провайдеру интернета, внесли абонентскую плату, пришли домой, торопитесь поскорее насладиться всеми прелестями беспроводного домашнего интернета, а сеть упорно не желает обнаруживаться в компьютере.
Если ваш Андроид видит сеть, но подключиться к интернету все равно не удается – убедитесь, что ввод пароля доступа был осуществлен корректно. За звездочками не видно цифр и букв. Так что ошибка вполне вероятна. Попытайтесь ввести пароль еще раз и будьте повнимательнее.
Еще одна распространенная причина, по которой Android не подключается к WiFi – тип зашиты, настроенный в роутере, не поддерживается вашим планшетом или смартфоном. Возьмите в руки Руководство Пользователя, зайдите в настройки роутера и поменяйте способ защиты на такой же, как и у вашего устройства.
А есть ли Wi-Fi? Хорошо бы проверить подключение интернета на стационарном компьютере или другом мобильном устройстве. Если подключение на других девайсах без проблем обнаруживается и работает нормально, попробуйте перезагрузить роутер. Отключите и заново включите электрическое питание, оборудование перезагрузится автоматически.
Андроид обнаруживает сеть, но подключение к интернету все равно не происходит, несмотря на то, что пароль быт введен корректно. Вероятная причина – ваша версия Android не поддерживает стандарт передачи сигнала, который установлен на роутере. Снова возьмите в руки Руководство по пользованию роутером и попытайтесь поменять настройки стандарта Wi-Fi соответственно тому, на котором работает устройство.
В магазине Google Play можно бесплатно скачать приложение под названием Wi-Fi Fixer, которое способно в автоматическом режиме решить множество проблем с интернетом для устройств на платформе Андроид.
После скачивания и установки программы перезагрузите устройство и запустите приложение, если оно еще не включилось автоматически. Теперь пробуйте подключаться к беспроводной сети. Ручные настройки для работы Wi-Fi Fixer не требуются.
Если у вас устройство было перепрошито в особом порядке, вполне вероятно, что в этом все препятствие и состоит. Кастомная перепрошивка может мешать работе некоторых функций. Для подключения к сети произведите сброс установок до фабричных. Не забудьте предварительно сохранить все важные документы на внешнюю карту памяти или в облачное хранилище.
Сброс настроек до фабричных – полезная процедура и ее нужно производить раз в несколько месяцев. Как только планшет или смартфон начинает подтормаживать или глючить, это значит, что в системе накопилось слишком много мусора и с его чисткой не справляются даже специальные приложения.
Для входа в настройки можно использовать персональный компьютер. Узнайте шлюз и адрес сети, зайдите на сайт. После этого введите пароль и логин, которые обычно можно найти на нижней части корпуса Wi-Fi роутера.
Особое внимание обратите на подключение DHCP-сервера. Если сервер отключен, тогда сеть не будет работать не только на Android, но и на других ваших компьютерах. Эта функция отвечает за формирование IP-адресов.
Проверьте, не включен ли в роутере Mac-фильтр. Если включен, необходимо убедиться, что планшет или смартфон на Андроид не внесен в черный список или же как раз внесен в белый. Чтобы узнать адрес Android по Mac, нужно найти в настройках информацию о планшетах или смартфонах.
Если ваш девайс оказался в черном списке, нужно либо совсем отключить фильтрацию по Mac-адресам, либо удалить ваше устройство на из черного списка и занести его в белый.
Если ничто из вышеперечисленного не помогает решить проблему с подключением, возможно, необходимо изменить прошивку либо на смартфоне, планшете, либо на роутере. В этом случае нужен специалист или же обратитесь в сервисную фирму.
Довольно долго я был озадачен одним моментом. У меня большая квартира, потому в ней две точки доступа Wi-Fi: один роутер стоит возле входной двери и другой, подключенный к нему патч-кордом, в комнате. Получается такая ситуация: если мой Android-смартфон подключен к точке в комнате, а я с ним ушел на кухню, сигнал становится слишком слабым, однако устройство упрямо держится за точку в комнате. Задача была сделать так, чтобы смартфон в подобной ситуации автоматически переключился на другую, более сильную точку, в данном случае, у входной двери. Делать это постоянно вручную очень неудобно.
Автоматически смартфон подобное делать не умеет. Однако в Google Play можно найти множество приложений, предлагающих такой функционал. Я поставил себе WiFi manager - очень мощный инструмент для управления Wi-Fi-сетями. Есть как платная, так и бесплатная версии. Про его возможности почитайте в самом Google-магазине, здесь я остановлюсь лишь на нужной мне опции:
Как видим на картинке, выбранные параметры таковы:
Теперь ваш смартфон может автоматически переключаться на более мощную по сигналу точку Wi-Fi.
Вот теперь перехожу к сути написанного. Несмотря на проделанные выше настройки на практике автопереключение точек у меня не работало. Парился я очень долго, ставил другие приложения, эффект - тот же.
Как выяснилось, в моем Andriod 6.0 на BQ Aquaris M5 подобное переключение сработает только в случае активации геолокации . Бред, печаль, но факт. Автор приложения WiFi manager, к сожалению, не потрудился уточнить столь неявные особенности и на комментарии не отвечает.
Многие сразу скажут: зачем такое нужно, ведь подключение смартфона по возможности к Wi-Fi, а не мобильному интернету, делается для минимального расхода батареи. Ведь именно Wi-Fi меньше всего «жрет» аккумулятор, следом за ним идет передача данных по 4G/LTE (в условиях максимального сигнала сравнимо с Wi-Fi), а наиболее прожорливым является 3G. Про 2G я уже молчу - это вчерашний век и пользоваться им в наши дни просто смешно. Однако геолокация (передача геоданных) наоборот - один из самых злостных потребителей энергии. Да, если оставить ее включенной в режиме «По всем источникам». Но можно зайти в «Настройки» - «Местоположение» и выбрать там из трех вариантов «По координатам сети» , отказавшись от GPS, который в общем-то и съедает батарейку.
Теперь расход энергии остался по ощущениям таким же, как и был прежде. Например, я знаю, что оставляя на ночь смартфон с выключенным интернетом, к утру у заряда убывает около 3%. Проделав все вышеизложенное (интернет выключил, геолокацию по координатам сети оставил), я провел тест и результат к утру был аналогичным. Зато автопереключение точек доступа Wi-Fi теперь у меня исправно работает.