2015-09-25 5 views
0

Я вижу, что вопрос: How can i check if an app running in Android?Как я могу проверить, открыто ли приложение на Android?

Но я хочу получить имя открытого приложения (пользователь видит) жить в android.

Я хочу запустить фоновое обслуживание, чтобы проверить это.

+1

https://www.google.com/?gws_rd=ssl#safe=active&q=check+if+app+is+running + android –

ответ

2

Вы можете получить запущенное приложение имя пакета с помощью этой функции:

public String foregroundPackage() { 
     ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
     List<ActivityManager.RunningTaskInfo> runningTaskInfo = manager.getRunningTasks(1); 
     ComponentName componentInfo = runningTaskInfo.get(0).topActivity; 
     packageName = componentInfo.getPackageName(); 
     return componentInfo.getPackageName(); 
    } 
+0

Спасибо, но когда я запускаю ваш код, я получаю только ** com.l.launcher ** в любых приложениях. –

+0

Я не знаю, как вы вызываете эту функцию, но я могу заверить вас, что она возвращает имя приложения верхнего приложения. –

+0

У меня есть функция цикла каждые 5 секунд, например, и я поместил ваш код в этот цикл, чтобы получить имя. только в моем приложении, я получаю правильное имя (** com.example.test **), но в другом приложении я получаю это: ** com.l.launcher ** :( –

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