2011-06-10 6 views
13

Antes que nada, sé que es malo usar un administrador de tareas/asesino en Android y todo eso, pero lo que me preguntaba es ¿cómo matan los administradores de tareas como Advanced Task Killer otras aplicaciones?
Quería desarrollar una aplicación simple que hiciera esto, solo para la experiencia de aprendizaje.
He intentado ejecutar el comando de Linux kill pid desde mi aplicación, pero no funcionó, ¿tal vez se necesita root?¿Cómo matan las aplicaciones los administradores de tareas?

Entonces, ¿cómo puedo lograr esto desde mi aplicación? Tengo una simple ListActivity que muestra las tareas que se están ejecutando actualmente y cuando un usuario pulsa mucho un elemento, quiero eliminar esa tarea.

+0

echar un vistazo a http://stackoverflow.com/questions/4921244/android-task -kill, que cubre esto. –

+1

Gracias, pero ya he leído esa publicación :) Aunque no responde mi pregunta, la función Process.killProcess solo permite que uno mate mi propio proceso y no otros, si no estoy equivocado. También lo probé en mi aplicación, pero no funcionó:/ –

Respuesta

9

Puede enviar la señal usando:

Process.sendSignal(pid, Process.SIGNAL_KILL); 

Para matar por completo el proceso, se recomienda llamar:

ActivityManager.killBackgroundProcesses(PackageName) 

antes de enviar la señal.

+0

donde está ActivityManager.killBackgroundProcesses ... dice que el método no está definido ... – Taranasus

+0

no importa, yo estaba usando api 7 – Taranasus

+1

así que esto realmente mata aplicaciones externas ? No estoy seguro de cómo verificar esto. ActivityManager.killBackgroundProcesses (PackageName); Process.sendSignal (pid, Process.SIGNAL_KILL); –

0

probar esto,

android.os.Process.killProcess(pid) 

que funcionará ...

-1

1- Agregar a manifestar

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/> 

2 - En tu código

Runtime.getRuntime().exec("adb shell killall com.example.app"); 

Nota: Su aplicación tiene que tener acceso al sistema de adb shell/app (permisos de root)

+1

Necesita tener permiso de administrador para esto – Yehonatan

Cuestiones relacionadas