2010-10-06 5 views
18

Я хочу написать услугу для платформы Android, которая будет уведомляться при изменении текущей активности переднего плана. В основном служба должна выполнять некоторые задачи только при изменении верхней активности. Есть ли способ подписаться и быть уведомленным о возникновении такого рода событий? Или нет возможности, и служба не должна периодически проверять список текущих действий и проверять, что представляет собой работа переднего плана? Не рекомендуется ...Как получать уведомления о изменениях активности переднего плана (приложения)

+0

На какой платформе вы пытаетесь написать службу? – Guillaume

+0

Android 2.1 platform – Alex

+2

Вы когда-нибудь находили решение для этого? Я пытаюсь сделать что-то подобное. – harbinja

ответ

4

AFAIK Есть два способа для этого.

  1. Запустить службу и контролировать активность стека, вы можете проверить его here
  2. Использование доступности службы, вы могли бы найти решение here
+0

Обратите внимание, что связанная техника для опроса для текущей активности не работает в Android 5+. – Sam

+0

@Sam Затем как приложение, защищающее выбранное приложение, работает? Как они обнаруживают, когда приложение приходит на передний план? Спасибо –

+0

@Astrount, я не знаю, что разработчики используют в эти дни, но в последний раз, когда я проверял, вариант 2 в этом ответе по-прежнему работает в Android 5. – Sam

1

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

попробовать это:

List runningTaskInfos=actvityManager.getRunningTasks(1).get(i).topActivity .getPackageName(); 

этот метод дает информацию о названии пакета активность, которая находится на переднем плане ..............

+1

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

+0

Ах, вы написали Activity, поэтому я понял, что это только одно приложение. Я действительно не знаю, как сделать то, что вы хотите сделать извините – fedj

+0

Кто-нибудь еще :)? – Alex

Смежные вопросы