Отмена разрешений для приложения для Android? - PullRequest
7 голосов
/ 03 декабря 2009

Скажем, приложение объявило себя

<uses-permission android:name="android.permission.INTERNET" />

Есть ли способ для пользователя (или другого приложения) отозвать это разрешение (конечно, без iptables)?

Ответы [ 4 ]

4 голосов
/ 06 января 2013

Блокировка интернета

Если вы хотите специально заблокировать доступ в Интернет для выбранных приложений И ваше устройство имеет root-права, тогда DroidWall является одним из вариантов (используйте режим черного списка). Кстати, в последних версиях приложения Google Play вы заметите, что разрешение на доступ в Интернет даже не будет указано при установке приложения - Google решил, что показывать его там не стоит ..

Пользовательские ПЗУ

Пользовательские ПЗУ, такие как Cyanogen 7.x, имеют встроенное управление разрешениями. После того, как вы включите соответствующую функцию в меню «Настройки» -> «Параметры CyanogenMod», вы можете отключить нужные вам разрешения, просто нажав разрешение на стандартном экране сведений о системе приложения. Cyanogenmod 9 и более поздние версии больше не имеют этой функции, потому что, когда команда Cyanogenmod рассматривала возможность добавления отзыва прав на ICS, Google отправила им электронное письмо с угрозой аннулировать доступ к Google Play для устройств, работающих под управлением Cyanogenmod, в случае, если эта функция сохранится в сборках Android 4.x .

AppOps

Начиная с версии 4.3 Android содержит App Ops - ограниченную встроенную систему управления разрешениями, которая недоступна из основного интерфейса пользователя, но может быть активирована путем вызова намерения с действием android.settings.APP_OPS_SETTINGS. На игровом рынке есть приложение AppOps Starter , с которого начнется процесс. Если вы используете Nova Launcher, вы можете создать ярлык для AppOps через «Добавить»> «Ярлык»> «Действия»> «Настройки»> «App Ops» (сводка). Вы также можете создать модуль запуска самостоятельно из исходного кода .

Отключение определенных действий

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

Изменение APK-файлов

Вы также можете попытаться изменить сам файл apk, чтобы удалить ненужные разрешения, например, с помощью ApkTool (очень сложно и не будет работать, если разработчик серьезно относится к безопасности).

PDroid

Еще одна опция - PDroid - она ​​требует исправления или перекомпиляции вашего ПЗУ. Получив ПЗУ с кодом PDroid, вы можете использовать приложение pDroid в Google Play , чтобы настроить каждое приложение по своему усмотрению.

xPposed Framework

Другой альтернативой, для которой требуется только root, но не специализированное ПЗУ, является Xposed Framework - библиотека, которая внедряется в системный процесс Android и предоставляет API для других приложений (называемых модулями Xposed) для делать самые безумные вещи. На уровне реализации он позволяет модулям перехватывать любой вызов API Android, изменять его параметры и подключать хуки. Описание доступно на форуме разработчиков XDA . После установки инфраструктуры вы можете установить несколько модулей, которые дадут вам полный контроль над разрешениями любого приложения, включая подачу поддельных или случайных данных для идентификатора устройства, контактов, местоположений, страны и т. Д. Посмотрите, например, в таких модулях, как xPrivacy , AppSettings или AndroidTuner - все они позволяют изменять разрешения или запрашивать подтверждение доступа. Есть также модули для управления вещательными приемниками и элементами запуска. Я успешно запустил его на нескольких устройствах с очень хорошими результатами, но впоследствии обнаружил, что потребление батареи значительно возросло, не зная, было ли это из-за самого фреймворка или конкретных модулей.

2 голосов
/ 28 марта 2011

есть пользовательское ПЗУ, которое может сделать это

2 голосов
/ 03 декабря 2009

Есть ли способ для пользователя (или другого приложение), чтобы отозвать это разрешение

Не хватает удаления приложения? Нет. Решения о разрешении разовые, когда приложение установлено.

ОБНОВЛЕНИЕ : на Android 6.0+ пользователи теперь могут контролировать, что приложения могут делать после установки. Технически, это не путем отмены разрешений, хотя пользовательский интерфейс, безусловно, предлагает это. Это работает сродни технологии AppOps, просочившейся в Android 4.3 и ранние уровни исправлений Android 4.4. Пользователи, которые блокируют операции (например, доступ к контактам), заставляют уязвимые приложения просто видеть пустого поставщика ContactsContract, например.

1 голос
/ 16 октября 2014

Есть ли способ для пользователя (или другого приложения) отозвать это разрешение (конечно, без iptables)?

"Да, но ..."

Если вы желаете получить root права на свое устройство (которое больше не требует каких-либо оккультных ритуалов;), вы можете использовать XPrivacy (как модуль для Xposed ). Он не просто запрещает незапрошенные разрешения (которые могут вызвать аварийное завершение работы приложения), но скорее может быть настроен для разумной подделки разрешений, которые вам не нужны, например, когда приложение пытается определить ваше местоположение, оно утверждает, что вы находитесь на островах Пасхи. Он очень гибкий (в том числе супер-параноик "спросите меня, что в любое время это приложение хочет сделать , что " и удобная функция "разрешить / запретить на хх минут"). Да, и это бесплатно (хотя профессиональная версия, полностью стоящая своих денег, позволяет применять шаблоны разрешений ко всем установленным приложениям и получать доступ к репозиторию с предварительно определенными разрешениями).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...