Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do Task Managers kill apps?

First of all I know it's bad to use a task manager/killer in Android and all that, but what I was wondering is how do task managers like Advanced Task Killer kill other applications?
I wanted to develop a simple application that would do this, just for the learning experience.
I tried executing the Linux command kill pid from my application but it didn't work, maybe it requires root?

So, how do I accomplish this from my application? I have a simple ListActivity that shows the currently running tasks and when a user long-presses an item I want to kill that task.

like image 579
Bhaskar Kandiyal Avatar asked Jun 10 '11 08:06

Bhaskar Kandiyal


2 Answers

You can send the signal using:

Process.sendSignal(pid, Process.SIGNAL_KILL);

To completely kill the process, it's recommended to call:

ActivityManager.killBackgroundProcesses(PackageName)

before sending the signal.

like image 125
Bhaskar Kandiyal Avatar answered Nov 02 '22 14:11

Bhaskar Kandiyal


slayton has good answer in this question.I add this detail to his answer:
- when you use ActivityManager.killBackgroundProcesses(PackageName) , you can not kill foreground process.

I saw these open sources project link in K_Anas'answer to this question:
- github repository
- code.google

like image 28
hasanghaforian Avatar answered Nov 02 '22 14:11

hasanghaforian