【问题标题】:How to exit an application, close all the activity and show the home screen? [duplicate]如何退出应用程序,关闭所有活动并显示主屏幕? [复制]
【发布时间】:2018-01-23 04:51:11
【问题描述】:

我在网上徘徊了一个小时,我找不到完全关闭我的应用程序并关闭所有活动然后返回主屏幕的代码。即使“退出”按钮对于 android 应用程序是必不可少的我找不到适合我工作的完美代码。我 提供代码不起作用。所以请不要建议。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

此代码关闭应用程序并显示主屏幕。但它没有关闭正在运行的应用程序。它只是最小化应用程序

Activity.finish();
System.exit(0);    

    protected void quit(){
    Process.killProcess(Process.myPid());
}

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

【问题讨论】:

  • 查看链接的“重复”问题中的其他答案。有很多方法可以做你想做的事,即使在 Android 中通常不会这样做。最简单的方法是使用Intent.FLAG_ACTIVITY_CLEAR_TOP 启动您的“根活动”并传递一个“额外”告诉根Activity 您要退出。这将从活动堆栈中清除所有活动,您的根活动只需要调用finish() 即可退出。

标签: android android-intent exit


【解决方案1】:

这可能有效:

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);

或在您的 Activity 上调用 moveTaskToBack(true) 而不是 System.exit()。这将隐藏您的应用程序,直到用户想要再次使用它。

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

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

【讨论】:

  • 让我试试。感谢您的回复
  • 它只是重新启动当前活动
  • 我想在点击按钮时杀死我的应用
  • @abdul 这不是 Android 应用程序的工作方式。 Android 操作系统处理内存管理和进程等,所以我的建议是让 Android 为您担心这些。如果用户想离开您的应用程序,他们可以按主页按钮,您的应用程序将有效地消失。
【解决方案2】:

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

【讨论】:

  • 请解释如何使用finishAndRemoveTask();和完成任务();
  • this" finishAndRemoveTask(); " 重启活动
猜你喜欢
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-03
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 2019-10-19
相关资源
最近更新 更多