Как проверить текущие запущенные приложения на Android?

Я хочу проверить текущие запущенные приложения в android программно, подобно тому, как он показывает 6 приложений, если мы нажмем и удерживаем кнопку HOME .

Меня больше всего интересуют имена приложений.

Вы можете получить текущий пакет имен, используя

ActivityManager am = (ActivityManager) mContext .getSystemService(Activity.ACTIVITY_SERVICE); String packageName = am.getRunningTasks(1).get(0).topActivity .getPackageName(); 

Вы можете использовать это имя пакета для получения текущего активного приложения

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

 boolean isNamedProcessRunning(String processName){ if (processName == null) return false; ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); List processes = manager.getRunningAppProcesses(); for (RunningAppProcessInfo process : processes) { if (processName.equals(process.processName)) { return true; } } return false; } 

Длительное нажатие клавиши HOME вызывает список недавних (не обязательно запущенных) задач.

ActivityManager имеет то, что вам нужно. Посмотрите на getRunningAppProcesses или getRunningTasks .

Вы можете просмотреть эту информацию (и многое другое), выполнив dumpsys activity через «adb shell».

  Running processes (most recent first): App #11: adj=fore /F 43fe7c20 233:com.android.browser/10004 (top-activity) App #10: adj=bak /B 43dcec80 190:android.process.media/10009 (bg-empty) App # 9: adj=vis /F 43f495c8 107:com.android.inputmethod.latin/10014 (service) com.android.inputmethod.latin.LatinIME<=ProcessRecord{43dbe0e8 59:system/1000} PERS # 8: adj=sys /F 43dbe0e8 59:system/1000 (fixed) PERS # 7: adj=core /F 43f534c0 111:com.android.phone/1001 (fixed) App # 6: adj=bak+1/B 43ea1f58 148:android.process.acore/10006 (bg-empty) App # 5: adj=home /B 43f601c0 114:com.android.launcher/10000 (home) App # 4: adj=bak+2/B 43f85128 133:com.android.settings/1000 (bg-empty) App # 3: adj=bak+3/B 43eacae0 223:com.android.music/10029 (bg-empty) App # 2: adj=bak+4/B 43dfc500 206:com.android.mms/10028 (bg-empty) App # 1: adj=bak+5/B 43f8fcd0 166:com.android.alarmclock/10025 (bg-empty) App # 0: adj=bak+6/B 43fcbe50 182:com.android.email/10008 (bg-empty) PID mappings: PID #59: ProcessRecord{43dbe0e8 59:system/1000} PID #107: ProcessRecord{43f495c8 107:com.android.inputmethod.latin/10014} PID #111: ProcessRecord{43f534c0 111:com.android.phone/1001} PID #114: ProcessRecord{43f601c0 114:com.android.launcher/10000} PID #133: ProcessRecord{43f85128 133:com.android.settings/1000} PID #148: ProcessRecord{43ea1f58 148:android.process.acore/10006} PID #166: ProcessRecord{43f8fcd0 166:com.android.alarmclock/10025} PID #182: ProcessRecord{43fcbe50 182:com.android.email/10008} PID #190: ProcessRecord{43dcec80 190:android.process.media/10009} PID #206: ProcessRecord{43dfc500 206:com.android.mms/10028} PID #223: ProcessRecord{43eacae0 223:com.android.music/10029} PID #233: ProcessRecord{43fe7c20 233:com.android.browser/10004} 
  • Как начать работу в адаптере?
  • Как добавить android.support.v7.widget.GridLayout в intelliJidea?
  • Четкое отображение данных приложения
  • Дооснащение и OkHttpClient, тайм-аут соединения catch в методе сбоя
  • Android: масштабировать графическое или фоновое изображение?
  • Как заставить ndk-gdb работать на Android?
  • GetView Vs. BindView в пользовательском CursorAdapter?
  • Как динамически запрашивать базу данных комнаты во время выполнения?
  • Как я могу вернуть значение из функции onResponse of Volley?
  • получение исключения "IllegalStateException: не удается выполнить это действие после onSaveInstanceState"
  • Не удается разрешить метод getMap ()
  • Давайте будем гением компьютера.