Android Task Killer

Ich versuche einen einfachen Auftragskiller zu schreiben. Ich weiß, ich sollte nicht Aufgaben in Android töten, aber ich bin gespannt auf so etwas zu versuchen. Ich habe folgenden Code:

<code>List<RunningAppProcessInfo> procInfo = activityManager.getRunningAppProcesses();
for (int i = 0; i < procInfo.size(); i++) {
    Log.v("proces " + i,procInfo.get(i).processName + " pid:" + procInfo.get(i).pid + " importance: " + procInfo.get(i).importance + " reason: " + procInfo.get(i).importanceReasonCode);
    //First I display all processes into the log
}
for (int i = 0; i < procInfo.size(); i++) {
    RunningAppProcessInfo process = procInfo.get(i);
    int importance = process.importance;
    int pid = process.pid;
    String name = process.processName;
    if (name.equals("manager.main")) {
        //I dont want to kill this application
        continue;
    }
    if (importance == RunningAppProcessInfo.IMPORTANCE_SERVICE) {
        //From what I have read about importances at android developers, I asume that I can safely kill everithing except for services, am I right?
        Log.v("manager","task " + name + " pid: " + pid + " has importance: " + importance + " WILL NOT KILL");
        continue;                       
    }
    Log.v("manager","task " + name + " pid: " + pid + " has importance: " + importance + " WILL KILL");
    android.os.Process.killProcess(procInfo.get(i).pid);
}   
procInfo = activityManager.getRunningAppProcesses();
//I get a new list with running tasks
for (int i = 0; i < procInfo.size(); i++) {
    Log.v("proces after killings" + i,procInfo.get(i).processName + " pid:" + procInfo.get(i).pid + " importance: " + procInfo.get(i).importance + " reason: " + procInfo.get(i).importanceReasonCode);
}
</code>

Mein Problem hierbei ist, dass ich beim Ausführen dieses Codes zuerst die Liste aller Aufgaben erhalte, das ist in Ordnung. Dann sehe ich im Log mehrere Zeilen von:

<code>Sending signal. pid: (processId) SIG: 9
</code>

Ich nehme an, das ist ein Signal zum Sterben. Aber am Ende meines Codes, wenn ich alle laufenden Prozesse anzeige, ist die Liste dieselbe wie zuvor, es wurde keine Aufgabe beendet. Irgendeine Idee warum? Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage