如何通过编程强制停止使用Java的Android应用程序?
如何强制停止使用Java的应用程序?我正在尝试构建一个可以帮助清理后台进程的内存清理器 我知道有一种方法可以终止某个应用程序的进程,但是当你进入跑步列表时,即使你终止了它,该应用程序仍然在那里。我尝试过很多类似的内存清理应用程序,其中只有一个可以完全强制停止应用程序,但它有太多无用的通知-非常烦人 注意:当你进入设置->应用程序时,你会看到一个应用程序列表。单击其中一个应用程序,您将看到该应用程序的信息。有一个名为“强制停止”的按钮。点击它,应用程序就会被杀死。我想在我的应用程序中执行这种操作。如何做到这一点如何通过编程强制停止使用Java的Android应用程序?,java,android,process,Java,Android,Process,如何强制停止使用Java的应用程序?我正在尝试构建一个可以帮助清理后台进程的内存清理器 我知道有一种方法可以终止某个应用程序的进程,但是当你进入跑步列表时,即使你终止了它,该应用程序仍然在那里。我尝试过很多类似的内存清理应用程序,其中只有一个可以完全强制停止应用程序,但它有太多无用的通知-非常烦人 注意:当你进入设置->应用程序时,你会看到一个应用程序列表。单击其中一个应用程序,您将看到该应用程序的信息。有一个名为“强制停止”的按钮。点击它,应用程序就会被杀死。我想在我的应用程序中执行这种操作。
获取应用程序的进程ID,并终止该进程onDestroy()方法 或 如果你想从你的活动中删除其他应用程序,那么这应该是可行的 您可以使用以下方式发送信号:
Process.sendSignal(pid, Process.SIGNAL_KILL);
要完全终止进程,建议调用:
ActivityManager.killBackgroundProcesses(packageNameToKill)
在发出信号之前
请注意,您的应用程序需要拥有KILL_BACKGROUND_processs权限。因此,在AndroidManifest.xml中,您需要包括:
尝试使用以下代码
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();
}
}
可能此解决方案会帮助您您的问题缺少足够的详细信息。我试图附加一个屏幕截图来帮助解释,但它告诉我,我没有足够的声誉来附加图片:(可能重复@Kishore的可能重复不是真的,这是关于杀死你自己的应用程序,而不是系统应用程序。我可以用这种方式杀死其他应用程序吗?你能显示更多的片段吗?谢谢!这将杀死你的应用程序,而不是其他应用程序。从Android M,你不能停止其他应用程序进程。这完全取决于Android操作系统(除非你有根访问权限)。请注意,如果调用
系统,则调用#finish()
几乎没有任何效果。在调用后的一行退出(0)
。因此,如果确实要强制退出,请在其他地方等待onDestroy()
回调(例如..侦听应用程序类中的生命周期事件)。但还要注意,所有这些kill方法都非常具有攻击性,进程
调用都会重新启动服务,如果您在创建服务时将其标记为粘性
。据我所知,如果在任务堆栈上有多个活动时发生这种情况,Android将重新启动应用程序,并启动下一个降低活动-即使有所有这些步骤。换句话说,从任务堆栈的角度来看,它的行为就像您对当前活动执行finish()。
ActivityManager.killBackgroundProcesses(packageNameToKill)
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();
}
}