1.
ActivityManager am1 = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningServiceInfo> recentTasks1 = am1.getRunningServices(50); //获得所有正在进行的程序
int numTasks = recentTasks1.size();
for(int i=0;i<numTasks;i++)
{
final ActivityManager.RunningServiceInfo recentInfo = recentTasks1.get(i);
if(recentInfo.pid==-1)
continue;
String procName=recentInfo.service.getPackageName();
Log.i(TAG,"procName="+procName+"\n");
Log.i(TAG,"clientLabel="+recentInfo.clientLabel+"\n");
Log.i(TAG,"process="+recentInfo.pid+"\n");
android.os.Process.killProcess(recentInfo.pid);
am1.removeTask(recentInfo.pid, ActivityManager.REMOVE_TASK_KILL_PROCESS);
am1.forceStopPackage(procName);
}
2.
List<RunningTaskInfo> list1 = am1.getRunningTasks(10);
Method forceStopPackage;
for (RunningTaskInfo info : list1)
{
procName=info.baseActivity.getPackageName();
try {
forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);
forceStopPackage.setAccessible(true);
forceStopPackage.invoke(am, procName);
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}