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

时间:2015-04-27 04:51:04

标签: java android process

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

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

P.S。:当你去设置 - >应用,您会看到应用列表。点击其中一个应用程序,您最终得到应用程序的信息。有一个名为“force stop”的按钮。通过点击它,应用程序被杀死。我想在我的应用程序中执行这种操作。怎么办呢?

force stop example

2 个答案:

答案 0 :(得分:6)

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

@Override
public void onDestroy()
 {
    super.onDestroy();

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

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

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

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

Process.sendSignal(pid, Process.SIGNAL_KILL);

要完全终止该过程,建议致电:

ActivityManager.killBackgroundProcesses(packageNameToKill)
发送信号前

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

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

答案 1 :(得分:1)

尝试使用以下代码

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

可能此解决方案可以帮助您Force Close an app programmatically