estoy ejecutando el siguiente fragmento de código:Obtener una lista de procesos en ejecución y matando a un proceso específico
ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000);
Entonces, mato a un proceso que estoy interesado con
actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName());
donde process
es una entrada de procInfos
.
El problema es que si ejecuto getRunningTasks
nuevamente, aún mostraría el proceso I (presumiblemente) eliminado, mientras que un administrador de tareas para Android enumeró ese proceso antes de llamar al killBackgroundProcesses
y lo eliminó de la lista después de esa llamada.
¿Alguna idea de cómo obtiene el administrador de tareas su lista de procesos en ejecución? ¿Y es normal que haya matado con éxito el proceso de terceros en un dispositivo sin raíz?
Esto hubiera sido mejor como una nueva pregunta, ya que es bastante diferente de lo que originalmente se preguntó. En cualquier caso, puede encontrar la mayor parte de la respuesta a su pregunta actual aquí: http://stackoverflow.com/questions/8814696/how-to-kill-currently-running-task-in-android, en particular, la segunda respuesta . –
@RobPridham: muchas gracias, no vi esa pregunta. Y mi pregunta reformulada no parece muy diferente de la original para mí ... –