Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过编程强制停止使用Java的Android应用程序?_Java_Android_Process - Fatal编程技术网

如何通过编程强制停止使用Java的Android应用程序?

如何通过编程强制停止使用Java的Android应用程序?,java,android,process,Java,Android,Process,如何强制停止使用Java的应用程序?我正在尝试构建一个可以帮助清理后台进程的内存清理器 我知道有一种方法可以终止某个应用程序的进程,但是当你进入跑步列表时,即使你终止了它,该应用程序仍然在那里。我尝试过很多类似的内存清理应用程序,其中只有一个可以完全强制停止应用程序,但它有太多无用的通知-非常烦人 注意:当你进入设置->应用程序时,你会看到一个应用程序列表。单击其中一个应用程序,您将看到该应用程序的信息。有一个名为“强制停止”的按钮。点击它,应用程序就会被杀死。我想在我的应用程序中执行这种操作。

如何强制停止使用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();
        }
    }