Есть ли способ быть в курсе выполнения стороннего приложения?

1

В принципе, я хочу узнать, когда запускается другое приложение, поэтому я могу настроить приложение в определенном порядке. Например, если пользователь запускает приложение GMail, моя служба может обнаружить это и отреагировать.

Моя нынешняя идея - проверить "topActivity" для каждого элемента в getRunningTasks() из класса ActivityManager. Но это звучит довольно дорого, так как он должен постоянно проверяться в фоновом режиме (и я довольно суетлив к использованию процессора моим приложением).

Если кто-то знает лучший способ, я бы хотел его услышать!

Теги:

1 ответ

2
Лучший ответ

Существует не способ сделать так, что "хороший способ" означает BroadcastListener, так как аплодисменты не транслируются. Единственный способ - запустить службу, которая проверяет getRunningTasks() (Чтобы не загружать CPU слишком много, вы также можете проверить, какое приложение находится на переднем плане. Я буду искать код, если вы заинтересованы в этой технике)

Проведите проверку обслуживания с интервалом 5-10 секунд. Также отключите службу в SCREEN_OFF и перезапустите ее на SCREEN_ON.

Извините, но для этого нет другого способа.

  • 0
    Так что в основном то, что я уже имел в виду. Хм, спасибо в любом случае!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню