Можно скрыть уведомление о том, что ваш VPN работает, и туннель продолжит работать без него. Это удивляет людей, потому что сообщение и соединение ощущаются одним объектом. Но это не так. На большинстве телефонов Android запись в шторке, ключ в строке состояния и уведомление работающей службы могут приходить от трёх разных владельцев, и только один из них подчиняется разрешению приложения на уведомления. Понять, что вам разрешено убрать, можно, только выяснив, кто опубликовал строку, на которую вы смотрите.

Три уведомления, три владельца

Первый владелец — само приложение VPN, которое обычно публикует постоянное уведомление с действием подключения или отключения и таймером сеанса. Второй — собственный индикатор VPN в Android: SystemUI рисует значок ключа и, в зависимости от версии и производителя, строку системного уровня, сообщающую об активной сети VPN. Третий — уведомление о политике устройства, которым управляет рабочий профиль или приложение администратора. Ни одно из них не является одним и тем же объектом, даже если они стоят рядом в шторке.

Разберите сообщение, прежде чем трогать переключатель:

NoticeWho controls it
App-owned ongoing noticeThe app's notification channel; a long-press shows the channel name and the owning package
Foreground-service noticeThe service visibility Android requires while the tunnel runs; the app cannot simply drop it
System VPN indicatorSystemUI or the manufacturer, driven by the VPN network state rather than by the app's channel
Work-policy noticeThe administrator or work-profile policy; the phone user may not have the switch at all

Какие элементы управления вы видите, зависит от версии Android, сборки производителя и канала, созданного приложением. Серый переключатель — это утверждение о политике, а не приглашение её обойти. Если переключателя в вашей сборке нет, честный ответ таков: именно это уведомление не вам убирать.

Найдите пакет за строкой

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

Когда долгое нажатие говорит недостаточно, один вызов adb перечисляет, что и кем на самом деле опубликовано: adb shell dumpsys notification --noredact, затем поищите в выводе подозрительный пакет. Вам нужен опубликовавший пакет и идентификатор канала, а не то, что можно оттуда отредактировать. Относитесь к выводу как к диагностике: ничто в этом списке уведомление не меняет.

На управляемом телефоне ответ иногда скучен: уведомление приходит от приложения политики устройства, а человек, держащий телефон, не тот, кто может его отключить. В этом случае консоль администратора — единственный поддерживаемый элемент управления, а собственные настройки телефона остаются серыми, какое бы меню вы ни нашли.

Что на самом деле меняет разрешение Android 13

Android 13 сделал уведомления разрешением времени выполнения, поэтому приложение с целевым API 33 должно спросить, прежде чем что-то публиковать. Откажите в этом запросе, и уведомления приложения перестанут появляться в шторке, что кажется искомым решением. Но служба переднего плана за VPN продолжает работать, и система по-прежнему показывает её в Диспетчере задач, даже когда её уведомление исчезло из шторки. Сама авторизация VPN остаётся нетронутой: туннель держится, пока вы его не отключите или не отзовёте согласие приложения на VPN.

Этот обмен хуже, чем кажется, потому что уведомление — ещё и самый быстрый способ увидеть сеанс и завершить его. Уберите его, и вы сделали телефон труднее для понимания, ничего не изменив в маршрутизации. Документация о разрешении на уведомления описывает поведение шторки; она не описывает поддерживаемого способа заглушить работающий туннель.

Есть ещё одна особенность версии, которую стоит знать: уведомление службы переднего плана требуется моделью службы, и приложение не вправе прятать его только потому, что вы отказали в разрешении. Некоторые сборки оставляют компактную версию видимой, другие переносят доказательство в Диспетчер задач, и это различие — выбор производителя, а не настройка, которую вы упустили.

Деморежим и трюки со значками — не решение

Вы найдёте советы про деморежим, про скрытие значков недокументированными командами adb и про ошибку интерфейса, из-за которой ключ исчезает. Всё это меняет представление. Ничто из этого не меняет маршрутизацию, политику или авторизацию VPN, за которой следит система, и телефон, состояние сети которого невидимо, труднее диагностировать, чем тот, у которого в шторке есть лишняя строка.

Значок подключения приложения тоже не проверка состояния. Туннель может быть опущен, пока старый интерфейс или устаревшее уведомление остаются, а локальная служба фильтрации может поднять ключ VPN, не отправив ни одного байта на удалённый выход. Проверяйте фактическое состояние в системных настройках VPN, а не в шторке.

Что бы я изменил, по порядку

Начните с определения владельца, затем используйте только тот элемент управления, который предлагает этот владелец. Если уведомление принадлежит приложению и необязательно, отключите этот канал и оставьте канал службы в покое. Если это системный индикатор, примите его: он сообщает факт об устройстве, а не рекламирует приложение. На управляемом устройстве остановитесь на политике администратора и не ищите обход.

Затем убедитесь, что у вас всё ещё есть поддерживаемый способ проверить туннель и отключить его, будь то экран самого приложения или страница системных настроек VPN. Телефон с одним баннером меньше и понятным способом завершить сеанс — это тот результат, который вам нужен. Обратное, более тихая шторка и никакого представления о том, маршрутизируется ли трафик, улучшением не является.

Похожие статьи