public boolean killBackgroundProcesses(String packageName) throws RemoteException {
ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> infos = am.getRunningAppProcesses();
boolean success = false;
for (RunningAppProcessInfo info : infos) {
if (info.pkgList != null) {
String[] pkgListCopy = Arrays.copyOf(info.pkgList, info.pkgList.length);
Arrays.sort(pkgListCopy);
if (Arrays.binarySearch(pkgListCopy, packageName) >= 0 && info.pid != android.os.Process.myPid()) {
Log.i(TAG, "killBackgroundProcesses(%s),pkgList=%s,pid=%s", packageName, Arrays.toString(info.pkgList), info.pid);
android.os.Process.killProcess(info.pid);
success = true;
}
}
}
return success;
}
ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> infos = am.getRunningAppProcesses();
boolean success = false;
for (RunningAppProcessInfo info : infos) {
if (info.pkgList != null) {
String[] pkgListCopy = Arrays.copyOf(info.pkgList, info.pkgList.length);
Arrays.sort(pkgListCopy);
if (Arrays.binarySearch(pkgListCopy, packageName) >= 0 && info.pid != android.os.Process.myPid()) {
Log.i(TAG, "killBackgroundProcesses(%s),pkgList=%s,pid=%s", packageName, Arrays.toString(info.pkgList), info.pid);
android.os.Process.killProcess(info.pid);
success = true;
}
}
}
return success;
}