I want to check current running applications in android programmatically, similar to how it shows 6 applications if we press and hold the HOME button.
I'm mostly interested in the application names.
I want to check current running applications in android programmatically, similar to how it shows 6 applications if we press and hold the HOME button.
I'm mostly interested in the application names.
You can get current name package using
ActivityManager am = (ActivityManager) mContext
.getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity
.getPackageName();
You can use this package name to get current active application
getRunningTasks
, so get(0) raises the "IndexOutOfBoundsException: Invalid index 0, size is 0". This information comes from Google Play ANR reporting tool for a published application. –
Fixation You can check the processName of each element in the list to see if it's the process you're looking for. You can use this code
boolean isNamedProcessRunning(String processName){
if (processName == null)
return false;
ActivityManager manager =
(ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningAppProcessInfo> processes = manager.getRunningAppProcesses();
for (RunningAppProcessInfo process : processes)
{
if (processName.equals(process.processName))
{
return true;
}
}
return false;
}
A long press of the HOME key brings up a list of recent (not necessarily running) tasks.
ActivityManager
has what you need. Look at getRunningAppProcesses
or getRunningTasks
.
You can view this information (and much more) by running dumpsys activity
via '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}
© 2022 - 2024 — McMap. All rights reserved.