¿Cómo verificar las aplicaciones actuales en ejecución en Android?

Quiero comprobar las aplicaciones que se ejecutan actualmente en Android mediante progtwigción, de forma similar a cómo muestra 6 aplicaciones si mantenemos presionado el botón INICIO .

Estoy principalmente interesado en los nombres de las aplicaciones.

Puede obtener el paquete de nombre actual usando

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

Puede usar este nombre de paquete para obtener la aplicación activa actual

Puede verificar el nombre del proceso de cada elemento en la lista para ver si es el proceso que está buscando. Puedes usar este código

 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; } 

Una pulsación larga de la tecla INICIO muestra una lista de tareas recientes (que no necesariamente se ejecutan).

ActivityManager tiene lo que necesitas. Mire getRunningAppProcesses o getRunningTasks .

Puede ver esta información (y mucho más) ejecutando la dumpsys activity través de ‘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}