ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> infoList = am.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo info : infoList) {
//进程名称
String processName = info.processName;
//进程的重要程度(越低越重要)
int importance = info.importance;
if (importance > ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
//该进程下的所有包名
String[] pkgList = info.pkgList;
for (String pkgName : pkgList) {
//杀掉该包对应的程序
am.killBackgroundProcesses(pkgName);
}
}
}
代码就是上面的这些,获取当前正在运行的进程并获取该进程下所有的包名,那么我们在哪些情况下需要获取正在运行的所有app?
第一种
有时候我们的app需要跳转到另外一个不是自己公