如何以编程方式强制停止使用Java的Android应用程序?

How can I programmatically force stop an Android app with Java?

如何强制停止使用Java的应用程序? 我正在尝试构建一个可以帮助清理后台进程的内存清理器。

我知道有一种方法可以杀死应用程序,但是当你进入运行列表时,即使你杀了它,应用程序仍然存在。 我尝试了很多类似的内存清理应用程序,其中只有一个可以完全强制停止应用程序,但它有很多无用的通知 - 非常烦人。

P.S。:当您转到设置 - >应用程序时,您将看到一个应用程序列表。 点击其中一个应用程序,您最终得到应用程序的信息。 有一个名为"强制停止"的按钮。 通过点击它,应用程序被杀死。 我想在我的应用程序中执行这种操作。 如何才能做到这一点?

force stop example


获取应用程序的进程ID,并终止该进程onDestroy()方法

1
2
3
4
5
6
7
8
@Override
public void onDestroy()
 {
    super.onDestroy();

    int id= android.os.Process.myPid();
    android.os.Process.killProcess(id);
 }

要么

1
2
getActivity().finish();
System.exit(0);

如果你想从你的活动中杀死其他应用程序,那么这应该可行

您可以使用以下方式发送信号:

1
Process.sendSignal(pid, Process.SIGNAL_KILL);

要彻底终止进程,建议调用:

1
ActivityManager.killBackgroundProcesses(packageNameToKill)

在发送信号之前。

请注意,您的应用需要拥有KILL_BACKGROUND_PROCESSES权限。 因此,在AndroidManifest.xml中,您需要包含:

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


尝试使用以下代码

1
2
3
4
5
6
7
8
9
10
11
    finish(); // for stopping Current Activity

    // add this line for Removing Force Close

    @Override
        protected void onDestroy() {
    // closing Entire Application
            android.os.Process.killProcess(android.os.Process.myPid());
            super.onDestroy();
        }
    }

可能这个解决方案将帮助您以编程方式强制关闭应用程序