2012-05-31 2 views
2

когда мое приложение работает в фоновом режиме. Ему необходимо следить за тем, как другие приложения меняются на переднем плане и получают свое имя. Как реализовать? Т.е. когда приложение переходит на передний план. Мое приложение должно быть уведомлено. затем получает свое имя.Как отслеживать привязку приложения на переднем плане?

ответ

0

Для мониторинга других приложений вы можете использовать ActivityManager для получения текущей верхней Appliction для активности Stack как в вашем Appliction:

ActivityManager am = (ActivityManager)context.getSystemService(Context. ACTIVITY_SERVICE); 
List<ActivityManager.RunningTaskInfo> processes1 = activityManager.getRunningTasks(1); 
ComponentName componentInfo = processes1.get(0).topActivity; 
String classname =processes1.get(0).topActivity.getClassName(); 
String packagename = processes1.get(0).topActivity.getPackageName(); 
+0

Спасибо вашего для ответа. Какой трансляции кричат, чтобы зарегистрироваться? – anel

+0

вам просто нужно добавить разрешение android.permission.GET_TASKS в манифест и создать службу для просмотра Activity Stack с помощью ActivityManager. –

+0

Извините, я до сих пор не понимаю. Должен ли я работать над кодом каждую секунду? как получить мероприятие? – anel

0

мы не можем использовать getRunningTasks, потому что метод андроид определяет»предназначен только для отладки и представления пользовательские интерфейсы управления задачами ».

Там нет прямого подхода, чтобы получить статус приложения в то время как фон или передний план, но есть возможность получить знать, когда приложение переднее и задний план Для получения более подробной информации: See here

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