如何强制停止使用Java的应用程序?我正在尝试构建一个可以帮助清理后台进程的内存清理器。
我知道有一种方法可以杀死应用程序的进程,但是当你进入运行列表时,即使你杀了它,应用程序仍然存在。我尝试了很多类似的内存清理应用程序,其中只有一个可以完全强制停止应用程序,但它有很多无用的通知 - 非常烦人。
P.S。:当你去设置 - >应用,您会看到应用列表。点击其中一个应用程序,您最终得到应用程序的信息。有一个名为“force stop”的按钮。通过点击它,应用程序被杀死。我想在我的应用程序中执行这种操作。怎么办呢?
答案 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