андроид задача убить - PullRequest
       51

андроид задача убить

8 голосов
/ 07 февраля 2011

Я хочу убить все задачи, которые выполняются в 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);
        }

    }

Проблема с кодом в том, что он возвращается только в списке действиймое приложение в 12 раз.И ни одна задача не убивается ...

Может кто-нибудь помочь мне, пожалуйста?Спасибо!

Ответы [ 5 ]

10 голосов
/ 07 февраля 2011

У вас нет прав на уничтожение других процессов;следовательно, killProcess() не работает для вашего приложения.

4 голосов
/ 07 февраля 2011

Вы используете 0 (ноль) вместо 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);
    }

}

Приветствия

2 голосов
/ 26 сентября 2011

Вы можете убить текущий процесс при нажатии на кнопку, используя следующий код:

public void onBackPressed() {
    super.onBackPressed();
    int pid = android.os.Process.myPid();
    android.os.Process.killProcess(pid);
1 голос
/ 20 августа 2013

Вы можете попробовать это, чтобы убить вашу задачу или приложение:

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

это работает для 2.2 и выше.

0 голосов
/ 26 октября 2016

1 - Добавить в манифест

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

2 - В своем коде

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

обратите внимание, что ваше приложение должно иметьдоступ к оболочке adb (системное приложение)

...