Blocker
Преимущества
- Легкий, не нагружает систему
- Простота использования
- Поддерживает несколько типов управления
Введение в различные контроллеры компонентов
Менеджер пакетов
Система Android предоставляет инструмент под названием PackageManager, который используется для управления установленными приложениями или получения информации о них. Один из его методов, setComponentEnabledSetting(ComponentName, int, int), позволяет приложению управлять состоянием собственных компонентов. При попытке использовать этот метод для управления компонентами в других приложениях требуется разрешение подписи, иначе вызов завершится ошибкой.
К счастью, Android предоставляет другой инструмент под названием pm, который позволяет пользователям управлять состояниями компонентов в режиме командной строки. Однако для запуска инструмента pm требуются права root. Следующая команда может быть использована для отключения определенного пакета или компонента:
pm disable [PackageName/ComponentName]
Используется ли PackageManager в коде или pm в режиме командной строки, конфигурации будут записаны в /data/system/users/0/package_restrictions.xml.
Режим Intent Firewall
Intent Firewall был представлен в Android 4.4.2 (API 19) и по-прежнему эффективен в последних системах Android. Он интегрирован в Android Framework для фильтрации намерений (intents) отправленных приложениями или системами.
Что может Intent Firewall
Каждое намерение отправленное приложением фильтруется Intent Firewall, правила хранятся в XML-файлах. Intent Firewall немедленно обновляет правила если в файле конфигурации происходят изменения.
Ограничения Intent Firewall
Только системные приложения могут читать и записывать каталог в котором хранится файл конфигурации, а сторонние приложения не имеют разрешения на доступ к нему.
Различия между Intent Firewall и Package Manager
Intent Firewall, действительно является фаерволом, он не влияет на состояние компонента. Приложение обнаруживает что компонент включен, но просто не может запустить его.
Для компонентов отключенных PackageManager, если приложение запускает их будет брошено исключение. Разработчики могут перехватить это исключение, чтобы узнать, отключен компонент или нет, чтобы они могли повторно включить этот компонент. Вот почему компоненты будут неожиданно включены. Если вы используете контроллер Intent Firewall, проблем не возникнет.
UI
Приложение было разработано с использованием рекомендаций Material 3.
Огромное спасибо нашему дизайнеру пользовательского интерфейса: @COPtimer
Экраны и элементы пользовательского интерфейса полностью созданы с использованием Jetpack Compose.
Приложение имеет две темы:
- Динамический цвет — использует цвета на основе текущей цветовой темы пользователя (если поддерживается)
- Тема по умолчанию — использует предопределенные цвета, когда динамический цвет не поддерживается
Каждая тема также поддерживает тёмный режим.
Анти-функции
У этого приложения есть функции, которые могут вам не понравиться. Узнать больше!
- Автор: lihenggui
- Лицензия: Apache License 2.0
- Отслеживание проблем
- Исходный код
- Список изменений
- Метаданные сборки
- Статус воспроизводимости
Пожертвовать
Версии
Можно выбрать загрузку приложения в виде APK (доступно по ссылкам ниже), однако следует помнить, что при такой установке вы не сможете получать уведомления об обновлениях, и что это менее безопасный способ скачивания. Советуем установить приложение F-Droid и использовать его.
Скачать-
arm64-v8aarmeabi-v7ax86x86_64Для этой версии требуется Android 6.0 или новее.
Собрано и подписано F-Droid, и гарантированно соответствует исходному коду из архива.
Скачать APK 8.5 МиБ Подпись PGP | Журнал сборки
-
arm64-v8aarmeabi-v7ax86x86_64Для этой версии требуется Android 6.0 или новее.
Собрано и подписано F-Droid, и гарантированно соответствует исходному коду из архива.
Скачать APK 8.6 МиБ Подпись PGP | Журнал сборки
-
arm64-v8aarmeabi-v7ax86x86_64Для этой версии требуется Android 6.0 или новее.
Собрано и подписано F-Droid, и гарантированно соответствует исходному коду из архива.
Скачать APK 8.1 МиБ Подпись PGP | Журнал сборки