机器人任务杀

问题描述:

我要杀死在Android的类似任务的杀手运行所有任务...... 我直到现在做的是:机器人任务杀

ActivityManager manager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 
    List<RunningAppProcessInfo> activityes = ((ActivityManager) manager).getRunningAppProcesses(); 

    for (int i = 0; i < activityes.size(); i++){ 

     Log.e("APP: "+i, activityes.get(0).processName); 

     if (!activityes.get(0).processName.equals("app.android.myapp")){ 
      Process.killProcess(activityes.get(0).pid); 
     } 

    } 

与代码的问题是,它返回的activityes只列出我的应用程序12次。 并没有任务被杀......

有人可以帮我吗? 谢谢!

+2

那么,有没有办法在Android上杀死其他任务? @Cata:你有没有发现如何做到这一点? – user489152 2011-07-18 13:38:39

你不必杀死其他进程的权利;因此,killProcess()不适用于您的应用程序。

+0

是的,但它并没有起作用关闭?我有android:name =“android.permission.GET_TASKS”权限,并在日志中可以看到:com.svox.pico 发送信号。 PID:328 SIG:9 jp.co.omronsoft.openwnn 发送信号。 PID:141 IG:9 系统 发送信号。 PID:71 SIG:9 com.android.defcontainer 发送信号。 PID:176 SIG:9 com.android.launcher 发送信号。 PID:190 SIG:9 android.process.media 发送信号。 PID:260 SIG:9 com.android.quicksearchbox :发送信号。 PID:234 SIG:9 com.android.protips 发送信号。 PID:243 SIG:9 ... – Cata 2011-02-07 13:24:24

+0

@Cata:“是的,但它并没有强迫关闭? - 没有。请阅读`killProcess()`的文档。 – CommonsWare 2011-02-07 13:40:16

您正在使用(零)而不是i在您的循环中。

for (int i = 0; i < activityes.size(); i++){ 

    Log.e("APP: "+i, activityes.get(i).processName); 

    if (!activityes.get(i).processName.equals("app.android.myapp")){ 
     Process.killProcess(activityes.get(i).pid); 
    } 

} 

干杯

+0

是的,现在我已经注意到=))今天我很头晕......问题是这不关闭应用程序。现在我可以看到它们,但是此代码不关闭它们。 – Cata 2011-02-07 12:40:00

你可以杀回来的当前进程使用下面的代码压制:

public void onBackPressed() { 
    super.onBackPressed(); 
    int pid = android.os.Process.myPid(); 
    android.os.Process.killProcess(pid); 

你可以试试这个杀死你的任务或应用程序:

ActivityManager am = (ActivityManager) ctx 
       .getSystemService(ctx.ACTIVITY_SERVICE); 
am.killBackgroundProcesses(packageName); 

这适用于2.2及更高版本。

1加来体现

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

2 - 在你的代码

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

注意,您的应用程序需要访问亚行外壳(系统应用)