Есть ли способ получить адрес из браузера, который пользователь пытается открыть, используя какой-то прослушиватель или что-то в этом роде, и если адрес находится в базе данных и адрес запрещен, перестаньте загружать этот адрес в браузер пользователя?
Android - это аромат операционной системы Linux, и вы хотите создать брандмауэр. Чтобы разрешить создание брандмауэра в Linux, Netfilter предоставляется:
Netfilter - это набор крючков внутри ядра Linux, который позволяет модулям ядра регистрировать функции обратного вызова с сетевым стеклом
Однако, чтобы обеспечить более простой интерфейс для создания брандмауэра, Linux-адаптеры обычно реализуют iptables (по существу, еще один слой поверх Netfilter).
iptables - это таблицы, предоставленные брандмауэром ядра Linux (реализованы как разные модули Netfilter), а также цепочки и правила, которые он хранит. Различные модули ядра и программы в настоящее время используются для разных протоколов; iptables применяется к IPv4, ip6tables к IPv6, arptables для ARP и ebtables для Ethernet-фреймов.
В linux вы по существу создаете iptable цепочки, чтобы обеспечить доступ к веб-сайтам, а также блокировать входящие соединения.
НО
Я не знаю, что iptables реализована в Android. Вам нужно будет вникать в исходный код ядра Android. Во-вторых, вам нужен root-доступ к телефону.
Лично, если iptables/netfilter не реализован в ядре Android, я бы посмотрел на это. Да, это много работы, но зачем изобретать колесо?
Если вы создадите браузер, например приложение, то вы его контролируете. Вы можете заблокировать или сообщить, что страница открыта и т.д. Иначе это невозможно!