Могу ли я использовать Foreground Service для мониторинга установки нового приложения, динамически регистрируя трансляцию ACTION_PACKAGE_ADDED в сервисе для Oreo и выше - PullRequest
0 голосов
/ 03 апреля 2019

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

Google в документации говорит:

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

Так что я могу использовать службу переднего плана для этой цели. Если нет, то какова его альтернатива.

1 Ответ

0 голосов
/ 03 апреля 2019

Как сказано в опубликованном вами документе, рассмотрите возможность использования запланированной работы.

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

Вместо этого вы должны запланировать задание, чтобы проверить, установлен ли новый пакет.

Посмотрите на принятый ответ в на этот вопрос

Вы также можете использовать опрос, настраивая задание JobScheduler для частой проверки, запрашивая PackageManager, что изменилось в списке установленных приложений, с помощью getChangedPackages () .

...