Android 如何退出应用程序、关闭所有活动并显示主屏幕?

Android 如何退出应用程序、关闭所有活动并显示主屏幕?,android,android-intent,exit,Android,Android Intent,Exit,我在网上漫游了一个小时又一个小时,我找不到一个完全关闭我的应用程序并关闭所有活动然后返回主屏幕的代码。尽管“退出”按钮对于android应用程序是必不可少的,但我找不到适合我工作的完美代码。我 给出密码是行不通的,所以请不要这样建议 Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TA

我在网上漫游了一个小时又一个小时,我找不到一个完全关闭我的应用程序并关闭所有活动然后返回主屏幕的代码。尽管“退出”按钮对于android应用程序是必不可少的,但我找不到适合我工作的完美代码。我 给出密码是行不通的,所以请不要这样建议

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
此代码关闭应用程序并显示主屏幕。但它没有关闭正在运行的应用程序。它只是将应用程序最小化

此代码只是重新启动当前活动

这可能会奏效:

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
或者对您的活动调用
moveTaskToBack(true)
,而不是
System.exit()
。这将隐藏您的应用程序,直到用户想要再次使用它

请记住,只要您正确地响应生命周期事件,您和用户都不需要关心应用程序是否仍在运行

因此,如果您想隐藏应用程序,请调用moveTaskToBack(),并让Android决定何时终止它。

这可能会起作用:

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
或者对您的活动调用
moveTaskToBack(true)
,而不是
System.exit()
。这将隐藏您的应用程序,直到用户想要再次使用它

请记住,只要您正确地响应生命周期事件,您和用户都不需要关心应用程序是否仍在运行


因此,如果你想隐藏你的应用程序调用
moveTaskToBack()
并让Android决定何时终止它。

个人而言,我喜欢在我的MainActivity上使用
finishAndRemoveTask();
,它会从最近的应用程序中删除应用程序并完全关闭它。或者你可以简单地使用
finishTask()如果您希望您的应用程序出现在最近的应用程序屏幕上。

个人,我喜欢在我的MainActivity上使用
finishAndRemoveTask();
,它将从最近的应用程序中删除应用程序并完全关闭。或者您可以简单地使用
finishTask();
如果您希望您的应用程序出现在“最近使用的应用程序”屏幕上。

让我试试。感谢您的响应。只需重新启动当前活动即可。我想按“关闭应用程序”按钮click@abdul这不是Android应用程序应该如何工作。Android操作系统处理内存管理和进程等,所以我的建议是让Android为你担心。如果用户想要离开你的应用程序,他们可以按Home(主页)按钮,你的应用程序将有效地消失。让我试试。感谢你的响应。只需重新启动当前活动。我想按此按钮关闭我的应用程序click@abdul这不是Android应用程序应该如何工作的。Android操作系统处理内存管理和进程等n所以我的建议是让Android为你担心。如果用户想离开你的应用程序,他们可以按Home按钮,你的应用程序将有效地消失。请解释如何使用finishAndRemoveTask();和finishTask();这是“finishAndRemoveTask();“重新启动活动请解释如何使用finishAndRemoveTask();和finishTask();此“finishAndRemoveTask()”;“重新启动活动查看链接的“重复”问题中的其他答案。有很多方法可以做你想做的事情,即使这通常不是在Android中完成的。最简单的方法是使用
Intent启动你的“根活动”。标记活动\u CLEAR\u TOP
并传递一个“额外的”告诉root
活动
您要退出。这将清除活动堆栈中的所有活动,根活动只需调用
finish()
即可退出。请查看链接的“重复”问题中的其他答案。有很多方法可以做你想做的事情,即使它通常不是在Android中完成的。最简单的方法是使用
Intent启动您的“根活动”。标记活动\u清除\u TOP
并传递一个“额外”通知根
活动
,告知您要退出。这将清除活动堆栈中的所有活动,根活动只需调用
finish()
即可退出。