1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | ActivityManager activityManger=(ActivityManager) this.getSystemService(ACTIVITY_SERVICE); List< ActivityManager.RunningAppProcessInfo > list=activityManger.getRunningAppProcesses(); if(list!=null) for(int i=0;i< list.size ();i++) { ActivityManager.RunningAppProcessInfo apinfo = list .get(i); System.out.println("pid "+apinfo.pid); System.out.println("processName "+apinfo.processName); System.out.println("importance "+apinfo.importance); String[] pkgList = apinfo .pkgList; if(apinfo.importance>ActivityManager.RunningAppProcessInfo.IMPORTANCE_SERVICE) { // Process.killProcess(apinfo.pid); for(int j=0;j<pkgList.length;j++) { //2.2以上是过时的,请用killBackgroundProcesses代替 activityManger.restartPackage(pkgList[j]); } } public static ApplicationInfo getInfo(Context context, String name) { if (name == null) { return null; } for (ApplicationInfo appinfo : appList) { if (name.equals(appinfo.processName)) { return appinfo; } } return null; } public static void restartPackage(Context context, String packageName) { // Log.i("test", "packageName = " + packageName); ActivityManager am = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); final int apiLevel = Build.VERSION.SDK_INT; if (apiLevel <= 7) { am.restartPackage(packageName); } else { am.killBackgroundProcesses(packageName); System.out.println("killed packageName is " + packageName); } } |
联系客服