Obtención de una lista de procesos en ejecución y eliminación de un proceso específico

Estoy ejecutando el siguiente fragmento de código:

ActivityManager actvityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo> procInfos = actvityManager.getRunningTasks(1000); 

Entonces, mato un proceso que me interesa

 actvityManager.killBackgroundProcesses(process.baseActivity.getPackageName()); 

Donde process es una entrada de procInfos .

El problema es que si ejecuto getRunningTasks nuevo – todavía mostraría el proceso que (presumiblemente) mató, mientras que un administrador de tareas para Android enumeró ese proceso antes de llamar a killBackgroundProcesses y eliminado de la lista después de esa llamada.

Entonces, ¿alguna idea sobre cómo el administrador de tareas obtiene su lista de procesos en ejecución? ¿Y es normal que haya matado con éxito el proceso de terceros en un dispositivo no enraizado?

'Ejecutar' no significa que un usuario lo inició; Podría estar escuchando eventos, haciendo una sincronización de fondo programada o cualquier otra cosa.

ActivityManager.getRunningTasks () podría estar más cerca de lo que quieres, pero en esencia siempre vas a tener este problema, porque el usuario no tiene un control total sobre lo que está activo actualmente.

  • Cómo forzar a detener una aplicación de Android
  • ¿Cómo puedo abrir un Fragmento de Android en un nuevo proceso?
  • ¿Cómo matar una aplicación de terceros?
  • Cómo leer la salida del comando de proceso android
  • ¿El nombre del proceso es el mismo que el nombre del paquete en android?
  • ¿Cómo algunas aplicaciones todavía pueden obtener los procesos actuales de las aplicaciones y matarlos?
  • ¿Es posible iniciar una Actividad como un nuevo proceso
  • Cualquier manera de comprobar si un proceso en ejecución es un proceso del sistema en android
  • Cómo matar a mi propia actividad - la manera dura
  • Android - ¿Cómo decidir si ejecutar un servicio en un proceso separado?
  • Android - ¿Cómo obtener el processName o packageName usando PID?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.