Android 任务杀死

发布于 2024-10-16 05:35:34 字数 601 浏览 8 评论 0原文

我想杀死所有在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 次。 并且没有任务被杀死...

有人可以帮助我吗? 谢谢你!

I want to kill all tasks that run in android like task killer...
What I have done until now is:

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);
        }

    }

The problem with the code is that it returns in the activityes list only my app for 12 times.
And no task is being killed...

Can somebody help me please?
Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

南冥有猫 2024-10-23 05:35:35

您无权终止其他进程;因此,killProcess() 不适用于您的应用。

You do not have the rights to kill other processes; hence, killProcess() does not work for your app.

幽蝶幻影 2024-10-23 05:35:35

您在循环中使用 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);
    }

}

干杯

You're using 0 (zero) instead of i inside your loop.

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);
    }

}

Cheers

画尸师 2024-10-23 05:35:35

您可以使用以下代码在按下后退键时终止当前进程:

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

You can kill the current process on back pressed using the following code:

public void onBackPressed() {
    super.onBackPressed();
    int pid = android.os.Process.myPid();
    android.os.Process.killProcess(pid);
寂寞笑我太脆弱 2024-10-23 05:35:35

您可以尝试此操作来终止您的任务或应用程序:

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

这适用于 2.2 及更高版本。

You can try this to kill your task or app:

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

this works for 2.2 and up.

同尘 2024-10-23 05:35:35

1- 添加到清单

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

2 - 在您的代码中

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

请注意您的应用需要有权访问 adb shell(系统应用)

1- Add to manifest

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

2 - In your code

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

note that your app need to have access to adb shell (system app)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文