После обновления до Android 17 кое у кого возникает странная картина: интернет работает, Wi-Fi подключен, телевизор в той же домашней сети - а YouTube, медиаплеер или приложение умного дома вдруг перестают его видеть. Дело не всегда в роутере. В Android 17 появился новый контроль доступа приложений к локальной сети, и чаще всего причина именно в нем.
Если приложение обновилось и теперь рассчитано на API 37 (Android 17), прямой доступ к устройствам в домашней сети для него по умолчанию закрыт. Чтобы видеть телевизор, принтер или NAS, приложению нужно либо разрешение ACCESS_LOCAL_NETWORK, либо использование системного механизма выбора устройств, при котором полный доступ к сети ему вообще не требуется.
Ограничение касается не только трансляции на телевизор. Под него могут попасть Chromecast и Google Cast, сетевые принтеры, NAS, Home Assistant, камеры, медиасерверы - в общем, любая техника, с которой телефон общается внутри домашней сети напрямую, а не через интернет.
Почему интернет работает, а локальная сеть - нет
Раньше приложению с обычным разрешением на интернет было не сложно обращаться и к устройствам в локальной сети - отдельного контроля для этого не существовало. С Android 17 это изменилось: для приложений, ориентированных на API 37 и выше, локальная сеть закрыта по умолчанию.
Новое разрешение называется ACCESS_LOCAL_NETWORK. Оно требуется, если приложение само ищет устройства через mDNS или SSDP, открывает TCP-соединение с локальным IP-адресом, отправляет или принимает UDP-пакеты напрямую. Ограничение работает на уровне сетевого стека Android, поэтому не зависит от конкретной библиотеки или способа поиска устройств.
При этом обычный доступ в интернет никак не блокируется: браузер открывает сайты, мессенджеры получают сообщения, видео спокойно играет на самом телефоне. Ломается только связь конкретного приложения с устройствами внутри домашней сети.
Важный нюанс: сама по себе установка Android 17 ничего не блокирует. Ограничение вступает в силу для приложения, только когда оно переходит на target SDK 37 или выше - до этого момента доступ к локальной сети у него остается прежним. Кстати, начиная с Android 16 у разработчиков уже была возможность включить эту защиту заранее и протестировать приложение, но массово она заработала именно с 17-й версией.
Из-за этого проблема нередко проявляется не сразу после обновления Android, а позже - после очередного обновления самого приложения. Разработчик переводит его на API 37, и при следующем запуске программе уже нужен новый способ доступа к сети.
Где включить доступ к локальной сети в Android 17
Отдельного пункта с техническим названием ACCESS_LOCAL_NETWORK в интерфейсе Android искать не нужно - для пользователя это разрешение спрятано внутри группы «Устройства поблизости».
Для YouTube официальная справка предлагает такой путь:
- Откройте Настройки телефона.
- В списке приложений выберите нужное приложение YouTube (само YouTube, YouTube Music, YouTube TV или YouTube Kids).
- Откройте Разрешения → Устройства поблизости.
- Выберите Разрешить.
На телефонах разных производителей разделы могут называться и располагаться немного иначе, но искать нужно всегда в карточке конкретного приложения, среди его разрешений. Проще всего запросить доступ прямо из YouTube: нажмите значок трансляции и следуйте подсказкам системы - если появится запрос на поиск устройств поблизости, разрешите его.
Для остальных программ логика та же. Откройте функцию, которой нужна локальная сеть - поиск телевизора, добавление принтера, обнаружение NAS, подключение к умному дому. Если разработчик успел адаптировать приложение под Android 17, оно само запросит нужный доступ в подходящий момент.
YouTube, Chromecast, NAS, принтеры и умный дом: что именно проверять
Ограничение проявляется по-разному в зависимости от устройства. Медиаплеер перестает показывать телевизор в списке, приложение NAS не открывает хранилище по локальному адресу, программа принтера его не находит, а система умного дома продолжает работать через облако, но теряет прямое подключение.
| Что перестало работать | Что проверить в первую очередь | Что еще может быть причиной |
|---|---|---|
| YouTube или YouTube Music не видит телевизор | Разрешение «Устройства поблизости» для каждого приложения | Телефон и телевизор находятся в разных сетях |
| Chromecast или устройство Google Cast исчезло из списка | Разрешения приложения и повторный запуск функции трансляции | Изоляция клиентов Wi-Fi или гостевая сеть |
| Приложение не находит сетевой принтер | Доступ приложения к устройствам поблизости | Принтер подключен к изолированному сегменту сети |
| NAS не открывается по локальному адресу | Разрешение приложения, через которое выполняется подключение | Изменившийся IP-адрес NAS, настройки VPN или сети |
| Home Assistant или приложение умного дома не видит локальные устройства | Разрешения конкретного приложения | Приложение еще не адаптировано к Android 17 |
Для YouTube доступ выдается отдельно каждому приложению. Если телевизор виден в самом YouTube, это не значит, что то же самое автоматически получили YouTube Music или YouTube Kids - разрешение придется включить для каждого из них отдельно, об этом прямо написано в справке Google.
У остальных программ результат зависит от того, как разработчик реализовал поиск устройств. Android 17 дает два пути: попросить у пользователя широкий доступ через ACCESS_LOCAL_NETWORK или воспользоваться готовым системным «пикером» - окном выбора устройства, - через который приложение получает нужное соединение без полного доступа ко всей домашней сети.
Для Google Cast разработчикам как раз рекомендован такой системный переключатель вывода - Output Switcher. Поэтому наличие функции трансляции в приложении еще не значит, что оно обязательно покажет запрос на полный доступ к локальной сети: многие сервисы будут работать через пикер и обойдутся вообще без этого разрешения.
Почему разрешения «Устройства поблизости» может не быть
Открыли Настройки → Приложения → нужное приложение → Разрешения, а подходящего пункта там просто нет? Включить его вручную в этом случае не получится. Вот пять типичных причин.
- Приложение еще не перешло на API 37. Пока target SDK ниже 37, Android сохраняет для него прежний доступ к локальной сети - разрешения попросту не появится.
- Разработчик не объявил
ACCESS_LOCAL_NETWORK. Тогда добавить разрешение самостоятельно нельзя - нужна новая версия приложения. - Приложение работает через системный выбор устройства. Широкий доступ ему не нужен, поэтому отдельного запроса может и не быть.
- Разрешение уже выдано через группу «Устройства поблизости».
ACCESS_LOCAL_NETWORKвходит в существующую группуNEARBY_DEVICES, и если приложение уже получило другое разрешение из нее, повторного запроса Android может не показать. - Производитель смартфона переименовал раздел. В оболочках Samsung, Xiaomi, Honor и других путь до разрешений порой отличается от чистого Android.
Особенно узнаваемый сценарий: приложение открывается нормально, подключается к облачному аккаунту, показывает данные из интернета - но перестает находить устройства автоматически и не подключается по локальному IP. Прежде чем сбрасывать роутер или перенастраивать всю домашнюю сеть, стоит сначала заглянуть именно в разрешения приложения.
Если разрешения нет, а после обновления приложение перестало видеть локальные устройства - проверьте, вышла ли новая версия программы. Если нет, дело за разработчиком: Android не дает пользователю вручную выдать разрешение, которое само приложение не запросило.
Когда дело все-таки в Wi-Fi или роутере
Android 17 объясняет не любую проблему с телевизором или Chromecast. Если приложению уже разрешен доступ к локальной сети, а телевизор все равно не находится - пора проверять саму сеть.
- Убедитесь, что телефон и телевизор в одной локальной сети. Одинакового названия Wi-Fi недостаточно, если роутер держит несколько изолированных сетей или отдельные VLAN.
- Проверьте гостевой Wi-Fi. Гостевые сети часто специально не дают устройствам видеть друг друга, хотя интернет в них работает нормально.
- Проверьте изоляцию клиентов. Настройка называется AP Isolation, Client Isolation или похоже - если она включена, устройства одной Wi-Fi-сети друг друга не видят.
- Временно выключите VPN. Некоторые VPN меняют маршрутизацию или блокируют доступ к частным адресам. Если без VPN телевизор появляется - дело в его настройках.
- Перезапустите приложение после изменения разрешения. Если поиск устройств уже завершился ошибкой, само приложение может не повторить его.
- Перезагрузите телевизор или стриминговое устройство. Это имеет смысл делать после проверки разрешений, а не вместо нее.
Отдельно проверять диапазоны 2,4 и 5 ГГц обычно не нужно: устройства в разных диапазонах одной сети прекрасно видят друг друга. Проблема возникает, только если сам роутер разводит эти сегменты по разным сетям или блокирует трафик между клиентами.
У YouTube есть и запасной вариант: в приложении на телевизоре можно открыть настройки и связать устройства по коду. Так телефон и телевизор подключаются друг к другу, даже если сидят в разных Wi-Fi-сетях.
Вопросы и ответы
Почему Android 17 перестал видеть телевизор?
Скорее всего дело в новом разрешении на доступ к локальной сети. Приложения, рассчитанные на API 37, должны запросить ACCESS_LOCAL_NETWORK или использовать системный выбор устройств - иначе телевизор в списке просто не появится.
Где включить доступ к локальной сети в Android 17?
В Настройках телефона откройте нужное приложение, затем «Разрешения» → «Устройства поблизости» → «Разрешить». У разных производителей названия разделов могут немного отличаться.
Почему YouTube не видит телевизор после обновления до Android 17?
Проверьте разрешение «Устройства поблизости» именно для YouTube - на Android 17 без него приложение не может искать стриминговые устройства в локальной сети.
Нужно ли отдельно разрешать доступ YouTube Music?
Да. Разрешение выдается на каждое приложение отдельно, поэтому YouTube, YouTube Music, YouTube TV и YouTube Kids нужно включать по очереди, даже если это один и тот же аккаунт.
Почему разрешения локальной сети нет в настройках приложения?
Либо приложение еще не перешло на API 37, либо не запрашивает ACCESS_LOCAL_NETWORK, либо работает через системный пикер, которому этот доступ не нужен. Добавить разрешение, которое разработчик не объявил, через настройки Android нельзя.
Может ли Android 17 заблокировать доступ к NAS или Home Assistant?
Да, если такому приложению нужен прямой доступ к устройствам по локальному IP, а само оно рассчитано на API 37. Решается это на стороне разработчика - запросом ACCESS_LOCAL_NETWORK или переходом на системный механизм выбора устройств.
Почему интернет работает, а Chromecast или телевизор не определяется?
Android 17 ограничивает только локальный сетевой трафик приложения, не трогая доступ в интернет. Похожий эффект дают гостевая Wi-Fi-сеть, изоляция клиентов на роутере и некоторые VPN.