В Android 6 пользователь имеет (наконец-то!) Возможность одобрения или отклонения определенных разрешений для приложения.
Тем не менее, я не смог найти способ одобрить или запретить доступ к сети, либо через Wi-Fi, либо через сотовую передачу данных. Соответствующее разрешение отображается в разделе «Другие возможности приложения» и является только информативным - по-видимому, изменить его невозможно.
Вот пример с приложением Chess Free:
Ответы:
Вы не сможете добиться успеха через собственный механизм Android.
Коди Тоомбс из Android Police очень хорошо указал на это в статье: Android M никогда не будет запрашивать у пользователей разрешение на использование Интернета, и это, вероятно, хорошо .
В разделе « Обычные и опасные разрешения» документа « Обзор разрешений» Google отметил:
(Акцент мой)
Удивительно или нет, но следующие разрешения входят в список нормальных разрешений :
Если этого недостаточно, ознакомьтесь с разрешениями, управляемыми AppOps здесь . Если вы не найдете там своего разрешения, вы не сможете ничего сделать с ним в графическом интерфейсе.
Поскольку альтернативные методы уже широко описаны на этом сайте, обратитесь к:
источник
Вы можете использовать NetGuard (см. Мой список интернет-брандмауэров для других альтернатив), который работает без рута и позволяет выборочно блокировать доступ в Интернет для приложений (WiFi или мобильные данные, и даже всегда или только при отключенном экране). Это от разработчика XPrivacy, так что должно быть хорошо;)
NetGuard (источник: Google Play ; нажмите на картинку для увеличения)
NetGuard с открытым исходным кодом, так что вы также можете найти его на F-Droid .
Обновление: обратите внимание, что последние версии Netguard включают в себя Google Ads, а также Firebase Analytics - две вещи, которые IMHO не имеют никакого отношения к брандмауэру (или любой другой системе безопасности) - что, скорее всего, является причиной того, что он больше не обновляется на F-Droid официальный репо (все еще доступен в моем с соответствующими предупреждениями).
источник
Есть несколько действительно крутых приложений, которые могут делать это без рута. Вот два примера:
LostNet Firewall Free :
(Нажмите на изображение, чтобы увеличить)
Mobiwol: NoRoot Firewall
(Нажмите на изображение, чтобы увеличить)
источник
Если у вас есть root- доступ, вы также можете использовать:
Я обновил свое устройство до Android 6.0.1 и до сих пор кажется, что оба работают.
источник
Доступ к Интернету не может быть запрещен для отдельных приложений на Android изначально. Реклама является основным источником дохода Google.
Однако, если вы используете Opera Max, вы можете ограничить доступ в Интернет для отдельных приложений. Вы даже можете сохранять данные благодаря технологии сжатия Opera.
Установите Opera Max из магазина Play. Это абсолютно бесплатно и легко в использовании. Корень не требуется.
источник
В свете некоторых недавних событий я хотел бы улучшить этот вопрос, представив Google Triangle . Загрузите его на APKMirror или APKPure и установите с помощью ADB .
Вот некоторые из ключевых особенностей.
Это не VPN, а локально блокирует доступ ваших приложений к Интернету. Думайте об этом как о новом разрешении, так же как использование камеры или доступ к вашему местоположению.
источник
преамбула
Возможно, уже поздно, но я хотел бы добавить свою точку зрения на ваш вопрос для полноты картины. Этот ответ - верный способ заблокировать доступ к приложению через Интернет. Недостатки? Он не блокирует Intents, он запутан и может привести к сбою целевого приложения, а также требует привилегий root .
Он был протестирован и подтвержден для работы до Android 7.1.2.
обоснование
Как уже упоминалось другими ответчиками, любое приложение, которое хочет получить доступ к Интернету, должно заявить о
android.permission.INTERNET
неоспоримых разрешениях в пределах своегоAndroidManifest.xml
. Как Android запоминает, какие разрешения запрашивает приложение? Сохраняя их внутриpackages.xml
, защищенный файл находится по адресу/data/system
.Само собой разумеется, что кто-то вроде нас может быть заинтересован в редактировании указанного файла с целью добавления или удаления разрешения при условии, что у него есть права root. Это наш способ запретить доступ к приложению через Интернет без VPN или программного обеспечения брандмауэра.
packages.xml
файлВ
packages.xml
файле перечислены все установленные приложения, а также их пути и разрешения. Каждое приложение размещается между<package></package>
тегами; ради моего ответа я буду нацеливаться на Nova Launcher от TeslaCoil. Раздел приложения в файле выглядит следующим образом:Отступы сообщаются дословно из файла.
Процедура
Вооружившись вышеуказанным знанием, теперь мы можем приступить к изучению разрешений Nova Launcher, заключенных между ними
<perms></perms>
. Достаточно скоро мы найдем единственное, что нам нужно отредактировать:Чтобы эффективно запретить доступ к приложению через Интернет, нам просто нужно удалить всю строку и перезагрузить устройство. Комментируя это для будущего использования бесполезно: Android проверяет этот файл на каждой загрузке, и очистит ваши комментарии .
Недостатки
После этой процедуры вы получите приложение, которое никак не может общаться с Интернетом. Тем не менее, плохо закодированные приложения и программное обеспечение, предназначенные для Marshmallow и выше, могут потерпеть крах при попытке подключения к Интернету , как это делает Nova.
Более того, как указывает Firelord, обновление приложения приводит к тому, что изменения отменяются, что фактически сводит на нет наши усилия и требует повторного удаления разрешения.
Исправление этой процедуры
Чтобы отменить то, что мы сделали выше, все, что нужно, это добавить разрешение, которое мы удалили, обратно среди других и перезагрузить устройство.
отказ
Я никоим образом не связан с Nova Launcher или его разработчиками.
источник