2017-01-25 10 views
0

У меня есть приложение, которое использует службу доступности для извлечения URL-адресов, которые посещаются в браузере Chrome на Android. Я хотел бы отфильтровать URL-адреса, которые были посещены, пока Chrome находится в режиме инкогнито. Я предполагаю, что это возможно, потому что SecureTeen как-то это делает, и они делают это через службу доступности.Android: Как определить, включен ли браузер Chrome в инкогнито через службу доступности.

Макеты Chrome в режиме инкогнито и в обычном режиме идентичны. Единственный способ, который я сейчас вижу, - обнаружить уведомление «Закрыть все вкладки инкогнито» и прекратить ведение журнала в течение некоторого времени, например, 30 минут. Есть ли лучший и надежный способ сделать это?

+0

Существует множество веб-браузеров для Android. Ваш вопрос подразумевает, что есть только один. – CommonsWare

+0

@CommonsWare, хороший момент, я обновил свой вопрос. Мне нужно только для Chrome. – Ishamael

ответ

0

Поскольку вы используете AccessibilityService, лучше всего слушать AccessibilityEvent типа уведомлений. Служба специальных возможностей даст вам возможность получить имя пакета уведомления, текст и т. Д.

NotificationListenerService - еще один способ прослушивания уведомления об активности хрома.

Голова here для получения дополнительной информации о названии пакета Chrome.

+0

Я слушаю событие NOTIFICATION_CHANGE, но оно не запускается для уведомления «Закрыть все вкладки инкогнито». Имя пакета хром - это то же самое, независимо от того, находится ли он в режиме инкогнито или регулярно, поэтому он также не помогает :( Чтобы уточнить, мне нужно найти способ отличить, работает ли ток Chrome в режиме инкогнито или нет. – Ishamael