Java 杀死Android中的应用程序

Java 杀死Android中的应用程序,java,android,Java,Android,我有一个应用程序,它在状态栏中显示一个通知,供用户单击以恢复活动 在应用程序中,我还将有一个关闭应用程序按钮,该按钮将运行: android.os.Process.killProcess(android.os.Process.myPid()); 当我点击关闭应用程序按钮时,只要我没有通过点击通知进入应用程序,应用程序就会被杀死 如果我通过点击应用程序进入应用程序,应用程序将“闪烁”一秒钟,并显示一个新副本。我想会显示一份新的副本 有人知道这是什么原因吗?你不会杀死android中的应用程序,这

我有一个应用程序,它在状态栏中显示一个通知,供用户单击以恢复活动

在应用程序中,我还将有一个关闭应用程序按钮,该按钮将运行:

android.os.Process.killProcess(android.os.Process.myPid());
当我点击关闭应用程序按钮时,只要我没有通过点击通知进入应用程序,应用程序就会被杀死

如果我通过点击应用程序进入应用程序,应用程序将“闪烁”一秒钟,并显示一个新副本。我想会显示一份新的副本


有人知道这是什么原因吗?

你不会杀死android中的应用程序,这不是工作方式。用户导航离开,系统在需要时清理剩下的东西。当手机已经有了“主页”和“返回”按钮时,为什么还需要“关闭”按钮?

终止应用程序的进程是一件可怕的事情。取决于你的应用程序在做什么,你可能会因为你是如何突然杀死东西而导致一些资源没有被正确清理。没有理由在android上这么做。没有你的帮助,Android在管理资源/电池寿命方面会做得更好

如果你真的想添加一个关闭按钮,你最好的办法是让用户返回他们的主屏幕。

你是否尝试过system.exit(0);在调用finish()之后的onDestroy()中,当用户选择“关闭”按钮时

即使不推荐

你说的


@菲利普·赖特,我试着换了 android.os.Process.killProcess(android.os.Process.myPid());具有 finish()但它不起作用。应用程序没有被终止

我的一个应用程序也遇到了类似的情况,finish()不起作用,所以我简单地使用了.killProcess,直到我能找出错误为止。但这不应该是一个永久的解决办法

我的问题是线程。确保所有线程在完成后都已正确处理(关闭IO流、db引用、游标等)。一旦我这样做了,就没有理由像finish()那样使用.killProcess


安卓系统还内置了“后退”按钮退出,“主页”按钮最小化(将应用程序保留在内存中)。应用程序不需要“退出”按钮,因为它已经存在,这会给你更多的屏幕空间:)。

你为什么要关闭应用程序?通常没有必要这么做。@Philipp Reichart是的,我知道android系统会在内存耗尽时杀死它。但是我试图为用户提供一个选项。您是否尝试过从
活动中调用?@Philipp-Reichart我尝试过替换android.os.Process.killProcess(android.os.Process.myPid());使用finish()但它不起作用。应用程序没有被杀死。不要盲目地实现用户要求的一切!